documentation-hub 5.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/.eslintrc.json +43 -0
  2. package/.github/workflows/build.yml +64 -0
  3. package/.github/workflows/ci.yml +39 -0
  4. package/.vscode/extensions.json +3 -0
  5. package/Current.md +97 -0
  6. package/DocHub_Image.png +0 -0
  7. package/README.md +666 -0
  8. package/USER_GUIDE.md +1173 -0
  9. package/Updater.md +311 -0
  10. package/build/256x256.png +0 -0
  11. package/build/512x512.png +0 -0
  12. package/build/app-update.yml +4 -0
  13. package/build/create-icon.js +208 -0
  14. package/build/icon.ico +0 -0
  15. package/build/icon.png +0 -0
  16. package/build/icon_1024x1024.png +0 -0
  17. package/dist/assets/Analytics-BpsG9895.js +1 -0
  18. package/dist/assets/Card-IAZin8kp.js +1 -0
  19. package/dist/assets/CurrentSession-B-rFkHvf.js +12 -0
  20. package/dist/assets/Dashboard-C_5gMb0q.js +1 -0
  21. package/dist/assets/Documents-CqZ25axS.js +1 -0
  22. package/dist/assets/Input-l89xwXBi.js +1 -0
  23. package/dist/assets/Reporting-DqdHJY_a.js +1 -0
  24. package/dist/assets/Search-XNbu5z_3.js +1 -0
  25. package/dist/assets/SessionManager-lH9hZfzH.js +1 -0
  26. package/dist/assets/Sessions-ClZOPYNc.js +1 -0
  27. package/dist/assets/Settings-DUEHGURa.js +11 -0
  28. package/dist/assets/index-8xUe8ptc.js +24 -0
  29. package/dist/assets/index-RYyJqF7O.css +1 -0
  30. package/dist/assets/path-BkOl0AGO.js +1 -0
  31. package/dist/assets/promises-ID_B9S-h.js +1 -0
  32. package/dist/assets/urlHelpers-TvgahX0r.js +1 -0
  33. package/dist/assets/useToast-yRSO1dkm.js +1 -0
  34. package/dist/assets/vendor-charts-RkGK5ROP.js +36 -0
  35. package/dist/assets/vendor-db-l0sNRNKZ.js +1 -0
  36. package/dist/assets/vendor-react-BVZ_anCF.js +4 -0
  37. package/dist/assets/vendor-search-Dw8P0qyA.js +1 -0
  38. package/dist/assets/vendor-ui-BU7NfluV.js +53 -0
  39. package/dist/electron/PowerAutomateApiService-LfW09ZGr.js +147 -0
  40. package/dist/electron/main-CXkNtyv-.js +19789 -0
  41. package/dist/electron/main.js +5 -0
  42. package/dist/electron/preload.js +1 -0
  43. package/dist/icon.png +0 -0
  44. package/dist/index.html +27 -0
  45. package/docs/CODEBASE_ANALYSIS_REPORT.md +309 -0
  46. package/docs/DEBUG_LOGGING_GUIDE.md +244 -0
  47. package/docs/README.md +115 -0
  48. package/docs/TOC_WIRING_GUIDE.md +344 -0
  49. package/docs/analysis/Bullet_Symbol_Bug_Analysis.md +136 -0
  50. package/docs/analysis/DOCXMLATER_ANALYSIS_SUMMARY.txt +169 -0
  51. package/docs/analysis/Document_Processing_Issues_Analysis.md +704 -0
  52. package/docs/analysis/FIELD_PRESERVATION_ANALYSIS.md +1200 -0
  53. package/docs/analysis/INDENTATION_PRESERVE_ANALYSIS.md +181 -0
  54. package/docs/analysis/INDENTATION_PRESERVE_IMPLEMENTATION.md +207 -0
  55. package/docs/analysis/List_Implementation.md +206 -0
  56. package/docs/analysis/List_Implementation_Accuracy_Report.md +366 -0
  57. package/docs/analysis/PROCESSING_OPTIONS_UI_UPDATES.md +220 -0
  58. package/docs/analysis/RefactorStyles.md +852 -0
  59. package/docs/analysis/STYLE_PARAMETER_ENHANCEMENT.md +143 -0
  60. package/docs/analysis/docxmlater-comparison-todo-2025-11-13.md +636 -0
  61. package/docs/analysis/docxmlater-implementation-analysis-2025-11-13.md +340 -0
  62. package/docs/analysis/docxmlater-template_ui-integration-analysis.md +263 -0
  63. package/docs/analysis/github-issues-to-create.md +237 -0
  64. package/docs/api/API_README.md +538 -0
  65. package/docs/api/API_REFERENCE.md +751 -0
  66. package/docs/api/TYPE_DEFINITIONS.md +869 -0
  67. package/docs/architecture/FONT_EMBEDDING_GUIDE.md +318 -0
  68. package/docs/architecture/docxmlater-functions-and-structure.md +726 -0
  69. package/docs/docxmlater-readme.md +1341 -0
  70. package/docs/fixes/EXECUTION_LOG_TEST_BASE.md +573 -0
  71. package/docs/fixes/HYPERLINK_TEXT_SANITIZATION.md +253 -0
  72. package/docs/fixes/README.md +37 -0
  73. package/docs/github-issues/issue-1-body.md +125 -0
  74. package/docs/github-issues/issue-10-body.md +850 -0
  75. package/docs/github-issues/issue-2-body.md +200 -0
  76. package/docs/github-issues/issue-3-body.md +270 -0
  77. package/docs/github-issues/issue-4-body.md +169 -0
  78. package/docs/github-issues/issue-5-body.md +173 -0
  79. package/docs/github-issues/issue-6-body.md +158 -0
  80. package/docs/github-issues/issue-7-body.md +171 -0
  81. package/docs/github-issues/issue-8-body.md +407 -0
  82. package/docs/github-issues/issue-9-body.md +515 -0
  83. package/docs/github-issues/issue-tracker.md +274 -0
  84. package/docs/github-issues/predictive-analysis-2025-10-18.md +2131 -0
  85. package/docs/implementation/List_Framework_Refactor_Plan.md +336 -0
  86. package/docs/implementation/PRIMARY_TEXT_COLOR_FEATURE.md +217 -0
  87. package/docs/implementation/RELEASE_PLAN_v2.1.0.md +362 -0
  88. package/docs/implementation/RefactorStyles.md +588 -0
  89. package/docs/implementation/implement-plan.md +489 -0
  90. package/docs/implementation/missing-helpers-implementation.md +391 -0
  91. package/docs/implementation/refactor-plan.md +520 -0
  92. package/docs/implementation/session-implementation-complete.md +233 -0
  93. package/docs/implementation/session-management-plan.md +250 -0
  94. package/docs/setup-checklist.md +77 -0
  95. package/docs/versions/changelog.md +345 -0
  96. package/electron/customUpdater.ts +656 -0
  97. package/electron/main.ts +2441 -0
  98. package/electron/memoryConfig.ts +187 -0
  99. package/electron/preload.ts +394 -0
  100. package/electron/proxyConfig.ts +340 -0
  101. package/electron/services/BackupService.ts +452 -0
  102. package/electron/services/DictionaryService.ts +402 -0
  103. package/electron/services/LocalDictionaryLookupService.ts +147 -0
  104. package/electron/services/PowerAutomateApiService.ts +231 -0
  105. package/electron/services/SharePointSyncService.ts +474 -0
  106. package/electron/windowsCertStore.ts +427 -0
  107. package/electron/zscalerConfig.ts +381 -0
  108. package/eslint.config.js +92 -0
  109. package/jest.config.js +52 -0
  110. package/package.json +214 -0
  111. package/postcss.config.mjs +6 -0
  112. package/public/icon.png +0 -0
  113. package/publish-release.ps1 +5 -0
  114. package/renovate.json +30 -0
  115. package/src/App.tsx +216 -0
  116. package/src/__mocks__/p-limit.js +12 -0
  117. package/src/__mocks__/styleMock.js +1 -0
  118. package/src/components/common/BugReportButton.tsx +44 -0
  119. package/src/components/common/BugReportDialog.tsx +193 -0
  120. package/src/components/common/Button.tsx +153 -0
  121. package/src/components/common/Card.tsx +86 -0
  122. package/src/components/common/ColorPickerDialog.tsx +177 -0
  123. package/src/components/common/ConfirmDialog.tsx +96 -0
  124. package/src/components/common/DebugConsole.tsx +275 -0
  125. package/src/components/common/EmptyState.tsx +183 -0
  126. package/src/components/common/ErrorBoundary.tsx +98 -0
  127. package/src/components/common/ErrorDetailsDialog.tsx +153 -0
  128. package/src/components/common/ErrorFallback.tsx +218 -0
  129. package/src/components/common/Input.tsx +109 -0
  130. package/src/components/common/Skeleton.tsx +184 -0
  131. package/src/components/common/SplashScreen.tsx +81 -0
  132. package/src/components/common/Toast.tsx +155 -0
  133. package/src/components/common/Tooltip.tsx +79 -0
  134. package/src/components/common/UpdateNotification.tsx +320 -0
  135. package/src/components/comparison/ComparisonWindow.tsx +374 -0
  136. package/src/components/comparison/SideBySideDiff.tsx +486 -0
  137. package/src/components/comparison/index.ts +8 -0
  138. package/src/components/document/DocumentUploader.tsx +288 -0
  139. package/src/components/document/HyperlinkPreview.tsx +430 -0
  140. package/src/components/document/HyperlinkService.md +1484 -0
  141. package/src/components/document/Hyperlink_Technical_Documentation.md +496 -0
  142. package/src/components/document/InlineChangesView.tsx +707 -0
  143. package/src/components/document/ProcessingProgress.tsx +303 -0
  144. package/src/components/document/ProcessingResults.tsx +256 -0
  145. package/src/components/document/TrackedChangesDetail.tsx +530 -0
  146. package/src/components/document/TrackedChangesPanel.tsx +546 -0
  147. package/src/components/document/VirtualDocumentList.tsx +240 -0
  148. package/src/components/editor/DocumentEditor.tsx +723 -0
  149. package/src/components/editor/DocumentEditorModal.tsx +640 -0
  150. package/src/components/editor/EditorQuickActions.tsx +502 -0
  151. package/src/components/editor/EditorToolbar.tsx +312 -0
  152. package/src/components/editor/TableEditor.tsx +926 -0
  153. package/src/components/editor/index.ts +18 -0
  154. package/src/components/layout/Header.tsx +190 -0
  155. package/src/components/layout/Sidebar.tsx +313 -0
  156. package/src/components/layout/TitleBar.tsx +190 -0
  157. package/src/components/navigation/CommandPalette.tsx +233 -0
  158. package/src/components/navigation/KeyboardShortcutsModal.tsx +173 -0
  159. package/src/components/sessions/ChangeItem.tsx +408 -0
  160. package/src/components/sessions/ChangeViewer.tsx +1155 -0
  161. package/src/components/sessions/DocumentComparisonModal.tsx +314 -0
  162. package/src/components/sessions/ProcessingOptions.tsx +297 -0
  163. package/src/components/sessions/ReplacementsTab.tsx +438 -0
  164. package/src/components/sessions/RevisionHandlingOptions.tsx +87 -0
  165. package/src/components/sessions/SessionManager.tsx +188 -0
  166. package/src/components/sessions/StylesEditor.tsx +1335 -0
  167. package/src/components/sessions/TabContainer.tsx +151 -0
  168. package/src/components/sessions/VirtualSessionList.tsx +157 -0
  169. package/src/components/sessions/sessionToProcessorManager.tsx +420 -0
  170. package/src/components/settings/CertificateManager.tsx +410 -0
  171. package/src/components/settings/SegmentedControl.tsx +88 -0
  172. package/src/components/settings/SettingRow.tsx +52 -0
  173. package/src/contexts/GlobalStatsContext.tsx +396 -0
  174. package/src/contexts/SessionContext.tsx +2129 -0
  175. package/src/contexts/ThemeContext.tsx +428 -0
  176. package/src/contexts/UserSettingsContext.tsx +290 -0
  177. package/src/contexts/__tests__/GlobalStatsContext.test.tsx +390 -0
  178. package/src/global.d.ts +273 -0
  179. package/src/hooks/useDocumentQueue.tsx +210 -0
  180. package/src/hooks/useToast.tsx +55 -0
  181. package/src/main.tsx +10 -0
  182. package/src/pages/Analytics.tsx +386 -0
  183. package/src/pages/CurrentSession.tsx +1174 -0
  184. package/src/pages/Dashboard.tsx +319 -0
  185. package/src/pages/Documents.tsx +317 -0
  186. package/src/pages/Projects.tsx +250 -0
  187. package/src/pages/Reporting.tsx +386 -0
  188. package/src/pages/Search.tsx +349 -0
  189. package/src/pages/Sessions.tsx +285 -0
  190. package/src/pages/Settings.tsx +2662 -0
  191. package/src/services/HyperlinkService.ts +1085 -0
  192. package/src/services/document/DocXMLaterProcessor.ts +617 -0
  193. package/src/services/document/DocumentProcessingComparison.ts +856 -0
  194. package/src/services/document/DocumentSnapshotService.ts +575 -0
  195. package/src/services/document/WordDocumentProcessor.ts +10509 -0
  196. package/src/services/document/__tests__/DocXMLaterProcessor.hyperlinks.test.md +311 -0
  197. package/src/services/document/__tests__/WordDocumentProcessor.integration.test.ts +515 -0
  198. package/src/services/document/__tests__/WordDocumentProcessor.test.ts +812 -0
  199. package/src/services/document/blanklines/BlankLineManager.ts +658 -0
  200. package/src/services/document/blanklines/__tests__/paragraphChecks.test.ts +281 -0
  201. package/src/services/document/blanklines/helpers/blankLineInsertion.ts +87 -0
  202. package/src/services/document/blanklines/helpers/blankLineSnapshot.ts +251 -0
  203. package/src/services/document/blanklines/helpers/clearCustom.ts +121 -0
  204. package/src/services/document/blanklines/helpers/contextChecks.ts +117 -0
  205. package/src/services/document/blanklines/helpers/imageChecks.ts +51 -0
  206. package/src/services/document/blanklines/helpers/paragraphChecks.ts +236 -0
  207. package/src/services/document/blanklines/helpers/removeBlanksBetweenListItems.ts +91 -0
  208. package/src/services/document/blanklines/helpers/removeTrailingBlanks.ts +35 -0
  209. package/src/services/document/blanklines/helpers/tableGuards.ts +21 -0
  210. package/src/services/document/blanklines/index.ts +67 -0
  211. package/src/services/document/blanklines/rules/additionRules.ts +337 -0
  212. package/src/services/document/blanklines/rules/indentationRules.ts +317 -0
  213. package/src/services/document/blanklines/rules/removalRules.ts +362 -0
  214. package/src/services/document/blanklines/rules/ruleTypes.ts +92 -0
  215. package/src/services/document/blanklines/types.ts +29 -0
  216. package/src/services/document/helpers/ImageBorderCropper.ts +377 -0
  217. package/src/services/document/helpers/__tests__/whitespace.test.ts +272 -0
  218. package/src/services/document/helpers/whitespace.ts +117 -0
  219. package/src/services/document/list/ListNormalizer.ts +947 -0
  220. package/src/services/document/list/index.ts +45 -0
  221. package/src/services/document/list/list-detection.ts +275 -0
  222. package/src/services/document/list/list-types.ts +162 -0
  223. package/src/services/document/processors/HyperlinkProcessor.ts +370 -0
  224. package/src/services/document/processors/ListProcessor.ts +257 -0
  225. package/src/services/document/processors/StructureProcessor.ts +176 -0
  226. package/src/services/document/processors/StyleProcessor.ts +389 -0
  227. package/src/services/document/processors/TableProcessor.ts +2238 -0
  228. package/src/services/document/processors/__tests__/HyperlinkProcessor.test.ts +314 -0
  229. package/src/services/document/processors/__tests__/ListProcessor.test.ts +291 -0
  230. package/src/services/document/processors/__tests__/StructureProcessor.test.ts +257 -0
  231. package/src/services/document/processors/__tests__/TableProcessor.hlp-tips-bullets.test.ts +459 -0
  232. package/src/services/document/processors/__tests__/TableProcessor.test.ts +1604 -0
  233. package/src/services/document/processors/index.ts +28 -0
  234. package/src/services/document/types/docx-processing.ts +310 -0
  235. package/src/services/editor/EditorActionHandlers.ts +901 -0
  236. package/src/services/editor/index.ts +13 -0
  237. package/src/setupTests.ts +47 -0
  238. package/src/styles/global.css +782 -0
  239. package/src/types/backup.ts +132 -0
  240. package/src/types/dictionary.ts +125 -0
  241. package/src/types/document-processing.ts +331 -0
  242. package/src/types/docxmlater-augments.d.ts +142 -0
  243. package/src/types/editor.ts +280 -0
  244. package/src/types/electron.ts +340 -0
  245. package/src/types/globalStats.ts +155 -0
  246. package/src/types/hyperlink.ts +471 -0
  247. package/src/types/operations.ts +354 -0
  248. package/src/types/session.ts +427 -0
  249. package/src/types/settings.ts +112 -0
  250. package/src/utils/MemoryMonitor.ts +248 -0
  251. package/src/utils/cn.ts +6 -0
  252. package/src/utils/colorConvert.ts +306 -0
  253. package/src/utils/diffUtils.ts +347 -0
  254. package/src/utils/documentUtils.ts +202 -0
  255. package/src/utils/electronGuard.ts +62 -0
  256. package/src/utils/indexedDB.ts +915 -0
  257. package/src/utils/logger.ts +717 -0
  258. package/src/utils/pathSecurity.ts +232 -0
  259. package/src/utils/pathValidator.ts +236 -0
  260. package/src/utils/processingTimeEstimator.ts +153 -0
  261. package/src/utils/safeJsonParse.ts +62 -0
  262. package/src/utils/textSanitizer.ts +162 -0
  263. package/src/utils/urlHelpers.ts +304 -0
  264. package/src/utils/urlPatterns.ts +198 -0
  265. package/src/utils/urlSanitizer.ts +152 -0
  266. package/src/vite-env.d.ts +11 -0
  267. package/tsconfig.electron.json +19 -0
  268. package/tsconfig.json +36 -0
  269. package/tsconfig.node.json +12 -0
  270. package/typedoc.json +45 -0
  271. package/vite.config.ts +152 -0
package/README.md ADDED
@@ -0,0 +1,666 @@
1
+ # Documentation Hub
2
+
3
+ A modern desktop application for managing document processing workflows with advanced hyperlink management, table of contents generation, and comprehensive document styling capabilities.
4
+
5
+ ## Overview
6
+
7
+ Documentation Hub is a professional-grade Electron desktop application designed to streamline document processing tasks. Built with TypeScript, React, and modern web technologies, it provides a polished interface for managing multiple document processing sessions with powerful customization options.
8
+
9
+ ## Core Features
10
+
11
+ ### Session-Based Workflow
12
+
13
+ Organize your document processing tasks into sessions, each maintaining its own configuration, documents, and processing history. Sessions persist across application restarts and can be resumed at any time.
14
+
15
+ **Key Capabilities:**
16
+
17
+ - Create unlimited processing sessions with custom names
18
+ - Add multiple Word documents (.docx) to each session
19
+ - Track processing status for each document
20
+ - Maintain separate configurations per session
21
+ - View processing statistics and time saved
22
+ - Close and archive completed sessions
23
+
24
+ ### Document Processing
25
+
26
+ Comprehensive document processing with support for multiple operations:
27
+
28
+ **Hyperlink Management:**
29
+
30
+ - Process and validate hyperlinks within documents
31
+ - Append custom content IDs to hyperlink URLs
32
+ - Distinguish between internal and external links
33
+ - Batch process multiple documents simultaneously
34
+ - Validate URL accessibility
35
+ - Automatic backup creation before processing
36
+
37
+ **Table of Contents Generation:**
38
+
39
+ - Generate custom table of contents with configurable heading levels
40
+ - Choose which heading levels to include (1-6)
41
+ - Enable or disable page numbers
42
+ - Right-align page numbers option
43
+ - Convert entries to clickable hyperlinks
44
+ - Customize tab leader style (none, dots, dashes, underline)
45
+ - Configure spacing between TOC entries
46
+ - Toggle TOC title visibility
47
+ - Custom TOC title text
48
+
49
+ **Table Uniformity:**
50
+
51
+ - Apply consistent formatting across all tables
52
+ - Configure border styles (single, double, dashed, or none)
53
+ - Set uniform border widths
54
+ - Bold and shade header rows
55
+ - Enable alternating row colors
56
+ - Adjust cell padding
57
+ - Auto-fit to content or window width
58
+ - Special formatting for Header 2 in 1x1 cells (custom shading and alignment)
59
+ - Dedicated large table styling (font, size, formatting, alignment)
60
+ - Conditional application based on patterns (If...Then detection)
61
+ - Apply formatting to top rows automatically
62
+
63
+ **List Bullet Formatting:**
64
+
65
+ - Configure indentation levels (up to 5 levels)
66
+ - Set custom bullet characters per level
67
+ - Define numbered list formats
68
+ - Adjust spacing between list items
69
+ - Maintain consistent indentation across documents
70
+
71
+ ### Text Replacement Rules
72
+
73
+ Create and manage text replacement rules for consistent document formatting:
74
+
75
+ - Define find-and-replace patterns
76
+ - Support for regular expressions
77
+ - Case-sensitive matching options
78
+ - Apply rules across all documents in a session
79
+ - Enable or disable individual rules
80
+ - Bulk edit multiple replacement rules
81
+
82
+ ### Style Management
83
+
84
+ Customize document styles with comprehensive formatting options:
85
+
86
+ **Supported Styles:**
87
+
88
+ - Normal text
89
+ - Header 1 through Header 6
90
+ - Custom style definitions
91
+
92
+ **Formatting Controls:**
93
+
94
+ - Font family selection
95
+ - Font size (points)
96
+ - Bold, italic, and underline toggles
97
+ - Text alignment (left, center, right, justify)
98
+ - Text color with visual picker
99
+ - Spacing before paragraph (points)
100
+ - Spacing after paragraph (points)
101
+
102
+ ### Tracked Changes Visualization
103
+
104
+ View detailed before-and-after comparisons of document modifications:
105
+
106
+ - Side-by-side diff view of changes
107
+ - Color-coded additions (green) and removals (red)
108
+ - Line-by-line change tracking
109
+ - Export changes to review
110
+ - Track hyperlink modifications
111
+ - Monitor style changes
112
+ - Record structural alterations
113
+
114
+ ### Advanced Theming
115
+
116
+ Fully customizable user interface with extensive theming options:
117
+
118
+ **Theme Modes:**
119
+
120
+ - Light mode
121
+ - Dark mode
122
+ - Automatic theme switching based on time
123
+
124
+ **Customization Options:**
125
+
126
+ - Custom accent colors with visual picker
127
+ - 24 preset color options (8 per row)
128
+ - Custom primary, background, and foreground colors
129
+ - Header and sidebar color customization
130
+ - Border color adjustments
131
+ - Secondary font color configuration
132
+ - Glass morphism effects with backdrop blur
133
+ - Smooth theme transitions
134
+
135
+ ### Typography System
136
+
137
+ Comprehensive typography controls for optimal readability:
138
+
139
+ - Main text font family (system-ui, Inter, Roboto, etc.)
140
+ - Font size with slider (12-24px)
141
+ - Font weight (Light, Regular, Medium, Semibold, Bold)
142
+ - Font style (Normal, Italic)
143
+ - Letter spacing adjustment (-0.05em to 0.2em)
144
+ - Line height configuration (1.0 to 2.5)
145
+ - Secondary text font customization
146
+ - Real-time preview of changes
147
+
148
+ ### Density Modes
149
+
150
+ Optimize screen real estate with three density modes:
151
+
152
+ - **Comfortable** - Generous spacing for relaxed reading
153
+ - **Compact** - Reduced spacing for more content visibility
154
+ - **Minimal** - Maximum content density for power users
155
+
156
+ ### Statistics and Analytics
157
+
158
+ Track your productivity with comprehensive statistics:
159
+
160
+ - Total documents processed
161
+ - Total hyperlinks checked and modified
162
+ - Time saved calculations (101 seconds per hyperlink average)
163
+ - Processing duration per document
164
+ - Success and error rates
165
+ - Session-level metrics
166
+ - Cross-session aggregation
167
+
168
+ ### User Experience Enhancements
169
+
170
+ **Interface Polish:**
171
+
172
+ - Custom frameless window with native controls
173
+ - Collapsible sidebar with icon-only mode
174
+ - Clickable breadcrumb navigation
175
+ - Real-time clock display
176
+ - Command palette (Ctrl/Cmd+K) for quick actions
177
+ - Smooth animations powered by Framer Motion
178
+ - Loading skeletons instead of spinners
179
+ - Success animations for save actions
180
+ - Responsive layout for different screen sizes
181
+
182
+ **Accessibility:**
183
+
184
+ - WCAG 2.1 AA compliant
185
+ - Full keyboard navigation support
186
+ - Screen reader compatibility
187
+ - High contrast mode support
188
+ - Reduced motion preferences respected
189
+ - Proper ARIA labels throughout
190
+
191
+ **File Management:**
192
+
193
+ - Open file location in system explorer
194
+ - Drag and drop document upload
195
+ - Multi-file selection support
196
+ - Document status indicators
197
+ - Automatic backup creation
198
+ - Error handling with recovery options
199
+
200
+ ## Technology Stack
201
+
202
+ - **Framework:** Electron 39 with React 19
203
+ - **Language:** TypeScript 5.9 with strict mode
204
+ - **Build Tool:** Vite 7
205
+ - **Styling:** Tailwind CSS 3.4
206
+ - **Animations:** Framer Motion 12
207
+ - **UI Components:** Radix UI primitives
208
+ - **Document Processing:** DocXMLater 10.1 (type-safe OOXML processing)
209
+ - **State Management:** React Context with Zustand
210
+ - **Data Persistence:** IndexedDB for sessions, LocalStorage for settings
211
+ - **Command Palette:** cmdk library
212
+ - **Icons:** Lucide React
213
+
214
+ ## System Requirements
215
+
216
+ - **Operating System:**
217
+ - Windows 10 or later
218
+ - macOS 10.14 (Mojave) or later
219
+ - Ubuntu 18.04 or later (or equivalent Linux distribution)
220
+
221
+ - **Hardware:**
222
+ - Minimum 4GB RAM (8GB recommended)
223
+ - 500MB available disk space
224
+ - 1280x720 minimum screen resolution
225
+
226
+ - **Software:**
227
+ - Microsoft Word document support (.docx files)
228
+ - Internet connection for update checks (optional)
229
+
230
+ ## Installation
231
+
232
+ ### Windows
233
+
234
+ **Installer (Recommended):**
235
+
236
+ ```powershell
237
+ # Download and install using PowerShell
238
+ iwr https://raw.githubusercontent.com/ItMeDiaTech/Documentation_Hub/master/install.ps1 | iex
239
+ ```
240
+
241
+ **Manual Installation:**
242
+
243
+ 1. Download the latest `.exe` installer from the [Releases](https://github.com/ItMeDiaTech/Documentation_Hub/releases) page
244
+ 2. Run the installer
245
+ 3. Choose installation directory (defaults to `%LOCALAPPDATA%\Programs\Documentation Hub`)
246
+ 4. Follow the installation wizard
247
+ 5. Launch Documentation Hub from the Start Menu or desktop shortcut
248
+
249
+ No administrator rights required - installs to user directory.
250
+
251
+ ### macOS
252
+
253
+ **Installer:**
254
+
255
+ ```bash
256
+ # Download and install using curl
257
+ curl -fsSL https://raw.githubusercontent.com/ItMeDiaTech/Documentation_Hub/master/install.sh | bash
258
+ ```
259
+
260
+ **Manual Installation:**
261
+
262
+ 1. Download the latest `.dmg` file from the [Releases](https://github.com/ItMeDiaTech/Documentation_Hub/releases) page
263
+ 2. Open the DMG file
264
+ 3. Drag Documentation Hub to your Applications folder
265
+ 4. Launch from Applications
266
+
267
+ ### Linux
268
+
269
+ **AppImage:**
270
+
271
+ ```bash
272
+ # Download and run
273
+ curl -fsSL https://raw.githubusercontent.com/ItMeDiaTech/Documentation_Hub/master/install.sh | bash
274
+ ```
275
+
276
+ **Manual Installation:**
277
+
278
+ 1. Download the latest `.AppImage` from the [Releases](https://github.com/ItMeDiaTech/Documentation_Hub/releases) page
279
+ 2. Make it executable: `chmod +x Documentation-Hub-*.AppImage`
280
+ 3. Run: `./Documentation-Hub-*.AppImage`
281
+
282
+ ## Development
283
+
284
+ ### Prerequisites
285
+
286
+ - Node.js 18 or later
287
+ - npm or yarn
288
+ - Git
289
+
290
+ ### Setup
291
+
292
+ ```bash
293
+ # Clone the repository
294
+ git clone https://github.com/ItMeDiaTech/Documentation_Hub.git
295
+ cd Documentation_Hub
296
+
297
+ # Install dependencies
298
+ npm install
299
+
300
+ # Run in development mode with hot reload
301
+ npm run electron:dev
302
+
303
+ # Type checking
304
+ npm run typecheck
305
+
306
+ # Linting
307
+ npm run lint
308
+
309
+ # Format code
310
+ npm run format
311
+ ```
312
+
313
+ ### Available Scripts
314
+
315
+ - `npm run dev` - Start Vite development server
316
+ - `npm run electron:dev` - Run Electron with hot reload
317
+ - `npm run build` - Build for production
318
+ - `npm run dist` - Package for distribution
319
+ - `npm run lint` - Run ESLint
320
+ - `npm run format` - Format code with Prettier
321
+ - `npm run typecheck` - Run TypeScript type checking
322
+
323
+ ### Building for Distribution
324
+
325
+ ```bash
326
+ # Build for current platform
327
+ npm run build
328
+ npm run dist
329
+
330
+ # Output will be in the release/ directory
331
+ ```
332
+
333
+ **Platform-Specific Builds:**
334
+
335
+ - Windows: Generates `.exe` installer (NSIS)
336
+ - macOS: Generates `.dmg` disk image
337
+ - Linux: Generates `.AppImage` executable
338
+
339
+ ## Configuration
340
+
341
+ ### Application Settings
342
+
343
+ Access settings via the gear icon in the sidebar or press `Ctrl/Cmd+,`.
344
+
345
+ **Appearance:**
346
+
347
+ - Theme (Light/Dark)
348
+ - Accent color selection
349
+ - Custom color configuration
350
+ - Glass effects toggle
351
+ - Animation preferences
352
+
353
+ **Typography:**
354
+
355
+ - Main text font and sizing
356
+ - Secondary text customization
357
+ - Letter spacing and line height
358
+ - Font weight and style
359
+
360
+ **Localization:**
361
+
362
+ - Language (English, Spanish, Mandarin)
363
+ - Timezone selection (US and international)
364
+ - Date format preferences
365
+
366
+ **API Connections:**
367
+
368
+ - PowerAutomate URL for automation
369
+ - Bug report endpoint
370
+ - Feature suggestion endpoint
371
+
372
+ **Updates:**
373
+
374
+ - Auto-update on launch (default: enabled)
375
+ - Manual update checks
376
+ - Release notes viewer
377
+
378
+ **Data Management:**
379
+
380
+ - Storage location
381
+ - Session cleanup preferences
382
+ - Export/import settings
383
+ - Reset to defaults
384
+
385
+ ### Session Configuration
386
+
387
+ Each session maintains independent settings:
388
+
389
+ **Processing Options:**
390
+
391
+ - Append content ID to hyperlinks
392
+ - Content ID string
393
+ - URL validation
394
+ - Backup creation
395
+ - Internal/external link processing
396
+
397
+ **Styles:**
398
+
399
+ - Custom style definitions
400
+ - Font and formatting rules
401
+ - Spacing configurations
402
+
403
+ **Replacements:**
404
+
405
+ - Text replacement rules
406
+ - Pattern matching options
407
+
408
+ **Document Uniformity:**
409
+
410
+ - Table formatting rules
411
+ - List bullet configurations
412
+ - TOC generation settings
413
+
414
+ ## Architecture
415
+
416
+ ```
417
+ Documentation_Hub/
418
+ ├── electron/ # Electron main process
419
+ │ ├── main.ts # App initialization and IPC
420
+ │ └── preload.ts # Context bridge (security)
421
+ ├── src/ # React application
422
+ │ ├── components/ # UI components
423
+ │ │ ├── common/ # Reusable components
424
+ │ │ ├── layout/ # Layout components
425
+ │ │ ├── navigation/ # Navigation components
426
+ │ │ └── sessions/ # Session-specific components
427
+ │ ├── contexts/ # React contexts
428
+ │ │ ├── ThemeContext.tsx
429
+ │ │ ├── SessionContext.tsx
430
+ │ │ └── UserSettingsContext.tsx
431
+ │ ├── pages/ # Application views
432
+ │ │ ├── Dashboard.tsx
433
+ │ │ ├── Sessions.tsx
434
+ │ │ ├── CurrentSession.tsx
435
+ │ │ ├── Documents.tsx
436
+ │ │ └── Settings.tsx
437
+ │ ├── services/ # Business logic
438
+ │ │ └── document/ # Document processing
439
+ │ ├── styles/ # Global styles and themes
440
+ │ ├── types/ # TypeScript definitions
441
+ │ ├── utils/ # Utility functions
442
+ │ └── App.tsx # Root component
443
+ ├── public/ # Static assets
444
+ └── build/ # Build resources (icons)
445
+ ```
446
+
447
+ ### Key Design Patterns
448
+
449
+ **State Management:**
450
+
451
+ - React Context for global state
452
+ - Zustand for complex state logic
453
+ - IndexedDB for persistent session data
454
+ - LocalStorage for user preferences
455
+
456
+ **Security:**
457
+
458
+ - Context isolation enabled
459
+ - Node integration disabled
460
+ - IPC communication via secure bridge
461
+ - Content Security Policy enforced
462
+ - Sandboxed renderer process
463
+
464
+ **Performance:**
465
+
466
+ - Code splitting and lazy loading
467
+ - Virtual scrolling for large lists
468
+ - Optimized re-renders with React.memo
469
+ - 60fps animations with GPU acceleration
470
+ - Efficient document processing with Web Workers
471
+
472
+ ## Updates
473
+
474
+ Documentation Hub includes automatic update functionality:
475
+
476
+ 1. **Automatic Updates (Recommended):**
477
+ - Enable "Auto-update on launch" in Settings
478
+ - App checks for updates on startup
479
+ - Downloads and installs updates automatically
480
+ - Prompts to restart when ready
481
+
482
+ 2. **Manual Updates:**
483
+ - Click "Check for Updates" in Settings
484
+ - View available update details
485
+ - Download and install when convenient
486
+
487
+ 3. **Release Channels:**
488
+ - Stable: Production-ready releases
489
+ - All updates go through the stable channel
490
+
491
+ Updates are downloaded from GitHub Releases and verified before installation.
492
+
493
+ ## Troubleshooting
494
+
495
+ ### Application Won't Start
496
+
497
+ - **Windows:** Check that .NET Framework 4.5+ is installed
498
+ - **macOS:** Allow app in Security & Privacy settings
499
+ - **Linux:** Ensure AppImage has execute permissions
500
+
501
+ ### Documents Not Processing
502
+
503
+ - Verify document is valid .docx format
504
+ - Check file is not password-protected
505
+ - Ensure file is not currently open in another application
506
+ - Review error messages in the application
507
+
508
+ ### Settings Not Saving
509
+
510
+ - Check available disk space
511
+ - Verify IndexedDB is enabled in your system
512
+ - Try clearing application cache (Settings > Data)
513
+ - Reset settings to defaults if corrupted
514
+
515
+ ### Performance Issues
516
+
517
+ - Reduce density mode to Minimal
518
+ - Disable glass effects and animations
519
+ - Close unnecessary sessions
520
+ - Process fewer documents simultaneously
521
+ - Increase available system memory
522
+
523
+ ### Auto-Update Issues (Corporate Networks)
524
+
525
+ **ECONNRESET or Certificate Validation Errors:**
526
+
527
+ Documentation Hub includes advanced proxy support for corporate environments. If you encounter update issues:
528
+
529
+ 1. **Automatic Proxy Detection:**
530
+ - The app automatically detects proxy settings from environment variables
531
+ - Supports HTTPS_PROXY, HTTP_PROXY, and NO_PROXY
532
+ - Works with NTLM, Kerberos, and basic authentication
533
+
534
+ 2. **Setting Proxy Environment Variables (if needed):**
535
+
536
+ ```bash
537
+ # Windows (Command Prompt)
538
+ set HTTPS_PROXY=http://proxy.company.com:8080
539
+ set HTTP_PROXY=http://proxy.company.com:8080
540
+ set NO_PROXY=localhost,127.0.0.1
541
+
542
+ # Windows (PowerShell)
543
+ $env:HTTPS_PROXY="http://proxy.company.com:8080"
544
+ $env:HTTP_PROXY="http://proxy.company.com:8080"
545
+ $env:NO_PROXY="localhost,127.0.0.1"
546
+
547
+ # With authentication
548
+ set HTTPS_PROXY=http://username:password@proxy.company.com:8080
549
+ ```
550
+
551
+ 3. **Automatic Retry with Exponential Backoff:**
552
+ - The app automatically retries failed downloads 5 times
553
+ - Retry delays: 1s, 2s, 4s, 8s, 16s
554
+ - Handles transient network issues gracefully
555
+
556
+ 4. **ZIP Fallback System:**
557
+ - If .exe downloads are blocked, the app automatically tries .zip format
558
+ - Downloads compressed version and extracts locally
559
+ - Maintains security and code signing
560
+
561
+ 5. **Corporate Certificate Issues:**
562
+ - For custom CA certificates: `set NODE_EXTRA_CA_CERTS=path\to\certificate.pem`
563
+ - The app uses Chromium's network stack for better certificate handling
564
+
565
+ **Network Restriction Bypass:**
566
+
567
+ If your network blocks .exe downloads:
568
+
569
+ - The app automatically detects blocking and switches to ZIP fallback
570
+ - No manual intervention required
571
+ - Visual indicators show when fallback mode is active
572
+ - Same "Install & Restart" workflow regardless of update method
573
+
574
+ ## Contributing
575
+
576
+ Contributions are welcome! Please follow these guidelines:
577
+
578
+ 1. Fork the repository
579
+ 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
580
+ 3. Commit your changes (`git commit -m 'Add amazing feature'`)
581
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
582
+ 5. Open a Pull Request
583
+
584
+ ### Code Style
585
+
586
+ - Follow existing TypeScript conventions
587
+ - Use Prettier for code formatting
588
+ - Run ESLint before committing
589
+ - Write type-safe code with strict TypeScript
590
+ - Add comments for complex logic
591
+ - Update documentation for new features
592
+
593
+ ### Testing
594
+
595
+ - Test on all supported platforms before submitting
596
+ - Verify accessibility compliance
597
+ - Check performance impact
598
+ - Ensure backward compatibility
599
+
600
+ ## Security
601
+
602
+ ### Security Measures
603
+
604
+ - Automatic security updates
605
+ - Sandboxed renderer processes
606
+ - Content Security Policy
607
+ - No remote code execution
608
+ - Minimal permissions model
609
+ - Encrypted data storage options
610
+
611
+ ## License
612
+
613
+ MIT License - see [LICENSE](LICENSE) file for details.
614
+
615
+ ## Acknowledgments
616
+
617
+ Built with these excellent open-source projects:
618
+
619
+ - Electron for cross-platform desktop capabilities
620
+ - React for UI components
621
+ - TypeScript for type safety
622
+ - Tailwind CSS for styling
623
+ - Framer Motion for animations
624
+ - Radix UI for accessible primitives
625
+ - DocXMLater for type-safe Word document processing
626
+
627
+ ## Support
628
+
629
+ - **Issues:** [GitHub Issues](https://github.com/ItMeDiaTech/Documentation_Hub/issues)
630
+ - **Discussions:** [GitHub Discussions](https://github.com/ItMeDiaTech/Documentation_Hub/discussions)
631
+
632
+ ## Changelog
633
+
634
+ See [CHANGELOG.md](CHANGELOG.md) for version history and release notes.
635
+
636
+ ## Roadmap
637
+
638
+ Planned features for future releases:
639
+
640
+ - Cloud sync for sessions across devices
641
+ - Plugin system for custom processors
642
+ - Team collaboration features
643
+ - Advanced analytics and reporting
644
+ - Batch processing scheduler
645
+ - Custom document templates
646
+ - Export to multiple formats
647
+ - Integration with cloud storage providers
648
+
649
+ ---
650
+
651
+ **Version:** 5.6.0
652
+ **Last Updated:** February 2026
653
+ **Maintainer:** ItMeDiaTech
654
+
655
+ ### Recent Major Updates
656
+
657
+ **February 2026 - DocXMLater 10.1 Upgrade:**
658
+ - Upgraded to DocXMLater 10.1.0 with 70+ new ECMA-376 API methods
659
+ - Refactored ListProcessor to use NumberingLevel API, eliminating raw XML manipulation
660
+ - List prefix standardization now uses type-safe setters (setFont, setColor, setFontSize, setBold)
661
+
662
+ **January 2025 - DocXMLater Migration:**
663
+ - Complete migration to DocXMLater library for document processing
664
+ - 90% code reduction in document processing (8,000+ lines → 4,000+ lines)
665
+ - Full TypeScript type safety throughout document operations
666
+ - Improved reliability for styles, tables, hyperlinks, and list processing