On branch fix/lmstudio
Changes to be committed:
modified: main.ts
new file: main.ts.bak
new file: src/core/PerplexedPlugin.ts
modified: src/core/PerplexedPluginCore.ts
modified: src/services/perplexityService.ts
new file: src/settings/PerplexedSettingTab.ts
modified: src/settings/PerplexedSettings.ts
new file: src/settings/PerplexitySettings.ts
On branch fix/lmstudio
Changes to be committed:
modified: README.md
modified: main.ts
new file: src/core/PerplexedPluginCore.ts
modified: src/modals/LMStudioModal.ts
modified: src/services/lmStudioService.ts
new file: src/settings/LMStudioSettings.ts
new file: src/settings/PerplexedSettings.ts
modified: src/types/obsidian.d.ts
modified: styles.css
- Split monolithic main.ts into modular services and modals
- Created separate service classes: PerplexityService,
PerplexicaService, LMStudioService
- Created modular modal classes: PerplexityModal, PerplexicaModal,
LMStudioModal, URLUpdateModal
- Deleted unused legacy files: CitationModal.ts, citationService.ts,
cleanReferencesSectionService.ts
## New Features
- Added ArticleGeneratorModal for one-page article generation with
predefined prompts
- Implemented intelligent image placement with [IMAGE n:
description] markers
- Added auto-scrolling during streaming responses for better
UX
- Created full callout formatting for query blocks with
multi-line support
## UI/UX Improvements
- Moved all inline styles to dedicated CSS files for
better maintainability
- Created modular CSS structure: perplexity-modal.css,
article-generator-modal.css, etc.
- Added proper spacing and padding to text inputs
across all modals
- Fixed sources placement to appear after last
non-empty line (no more huge gaps)
- Enhanced modal layouts with better visual
hierarchy
## Build System
- Updated esbuild.config.mjs to properly bundle
CSS files
- Created src/styles/main.css as CSS entry
point
- Implemented proper CSS build process with
minification support
## Bug Fixes
- Fixed TypeScript errors from unused
imports and parameters
- Resolved streaming scroll issues with
proper cursor tracking
- Fixed multi-line query formatting in
callout blocks
- Corrected sources insertion logic
for both streaming and
non-streaming responses
## Code Quality
- Improved separation of concerns
with service/modal architecture
- Enhanced maintainability with
modular CSS structure
- Added comprehensive error
handling and logging
- Implemented consistent
coding patterns across all
services
## Technical Details
- Services now handle API
calls, streaming, and
response processing
- Modals focus purely on
UI and user
interaction
- CSS uses Obsidian's
design system
variables for
theming
- All modals support
both streaming and
non-streaming
modes
- Image placement
supports both
inline markers
and fallback
sections
Breaking
Changes: None
Migration:
Existing
functionality
preserved,
enhanced with
new features
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: README.md
modified: main.ts
modified: styles.css
works and streams responses back. Not perfect, but works!
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: main.ts
On branch development
Your branch is ahead of 'origin/development' by 1 commit.
(use "git push" to publish your local commits)
Changes to be committed:
modified: README.md
modified: main.ts
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: main.ts
new file: package-lock.json
modified: package.json
modified: styles.css
On branch development
Changes to be committed:
deleted: .cursor/mcp.json
deleted: .windsurfrules
modified: README.md
modified: manifest.json
modified: package.json
modified: versions.json
- Move citations after punctuation (periods and commas) in document body
- Preserve reference section formatting
- Handle multiple citations before punctuation
- Add proper spacing between multiple citations
- Process entire document in one pass
- Add command to format citations via command palette
The command "Move Citations after Punctuation" is now available in the command palette (Ctrl/Cmd+P) to format citations throughout the document.
On branch development
Changes to be committed:
modified: main.ts
modified: src/services/citationService.ts
- Implement cleanReferencesSectionService with addColonSyntaxWhereNone function
- Add command to format footnote references with consistent colon syntax
- Fix regex to handle various footnote reference formats
- Preserve leading whitespace and ensure single space after colon
- Add TypeScript type safety with proper null checks
- Integrate with main plugin command registry
The new command formats footnote references from:
[^hexId] Text...
to:
[^hexId]: Text...
This improves consistency in citation formatting throughout documents.
On branch development
Changes to be committed:
modified: main.ts
new file: src/services/cleanReferencesSectionService.ts
On branch development
Changes to be committed:
modified: src/modals/CitationModal.ts
modified: src/services/citationService.ts
modified: src/styles/citations.css
citations
On branch development
Changes to be committed:
modified: src/modals/CitationModal.ts
modified: src/services/citationService.ts
modified: src/styles/citations.css
- Fixed method name mismatch between convertCitation and convertCitations
- Made generateHexId private and added public getNewHexId method
- Improved type safety for CitationMatch interface with explicit URL handling
- Cleaned up unused imports and variables in CitationModal
- Fixed file handling to use correct Obsidian API types
- Updated citation conversion logic to handle multiple groups
- Added proper error handling for file operations
- Improved code documentation and type annotations
- Formatted styles.css for better readability
footnotes
Enhanced Type Safety:
Made the type property more specific with a union type: 'footnote' | 'reference' | 'perplexity'
Made lineContent a required property since we always want to track the line context
Added proper null checks for regex match groups
Improved Citation Matching:
Now properly handles three types of citations:
Standard footnotes: [^1]
Standard citations: [1] (excluding markdown links)
Perplexity-style footnotes: 1. [https://example.com]
Added proper line-by-line processing to handle Perplexity-style footnotes correctly
Improved position tracking to handle multi-line content
Better Error Handling:
Added null checks for regex matches
More precise error messages
Better handling of edge cases
Fixed TypeScript Errors:
Ensured all required properties are properly typed
Removed any unsafe type assertions
Made the code more type-safe with proper interfaces
Improved Code Organization:
Better function documentation
More consistent variable naming
Cleaner control flow
On branch development
Changes to be committed:
modified: src/services/citationService.ts
On branch development
Changes to be committed:
modified: README.md
modified: esbuild.config.mjs
modified: main.ts
modified: manifest.json
new file: src/modals/CitationModal.ts
new file: src/services/citationService.ts
new file: src/styles/citations.css
new file: src/types/obsidian.d.ts
new file: src/utils/logger.ts
On branch master
Your branch is up to date with 'origin/master'.
Changes to be committed:
modified: .gitignore
modified: .windsurfrules
modified: README.md
modified: package.json
On branch development
Changes to be committed:
modified: .eslintrc
modified: esbuild.config.mjs
modified: main.ts
modified: package.json
modified: pnpm-lock.yaml
modified: tsconfig.json
On branch master
Your branch is up to date with 'origin/master'.
Changes to be committed:
modified: .npmrc
deleted: lcontent-farm.code-workspace
modified: main.ts
deleted: package-lock.json
modified: package.json
new file: pnpm-lock.yaml
modified: versions.json