Skip to content

Commit 1f7d55d

Browse files
committed
update ext display name
1 parent 7a96dc8 commit 1f7d55d

File tree

5 files changed

+305
-103
lines changed

5 files changed

+305
-103
lines changed

README.md

+108-53
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,114 @@
1-
# MD-AR-EXT: Markdown Arweave Extension
1+
# Markdown Arweave Uploader
22

33
A VS Code extension to resize images, upload them to Arweave, and insert Markdown links.
44

55
> **Documentation:** For comprehensive documentation, see the [docs directory](./docs/README.md).
66
7+
## Requirements
8+
9+
- ImageMagick must be installed for image processing
10+
- An Arweave wallet key (JWK) for uploads
11+
- VS Code 1.85.0 or higher
12+
13+
## Installation
14+
15+
### Install ImageMagick
16+
17+
ImageMagick is required for image processing:
18+
19+
- **macOS**: `brew install imagemagick`
20+
- **Windows**: Download the installer from [ImageMagick Website](https://imagemagick.org/script/download.php)
21+
- **Linux (Debian/Ubuntu)**: `sudo apt-get install imagemagick`
22+
- **Linux (RHEL/CentOS)**: `sudo yum install ImageMagick`
23+
24+
Verify installation with: `magick --version` or `convert --version`
25+
26+
### Install the Extension
27+
28+
**Option 1: From VS Code Marketplace**
29+
1. Open VS Code
30+
2. Go to Extensions (Ctrl+Shift+X or Cmd+Shift+X)
31+
3. Search for "Markdown Arweave Uploader"
32+
4. Click "Install"
33+
34+
**Option 2: From VSIX File**
35+
1. Download the `.vsix` file from [GitHub Releases](https://github.com/dwarvesf/md-ar-ext/releases)
36+
2. In VS Code, go to Extensions
37+
3. Click the "..." menu and select "Install from VSIX..."
38+
4. Choose the downloaded file
39+
40+
**Option 3: Build from Source**
41+
```bash
42+
git clone https://github.com/dwarvesf/md-ar-ext.git
43+
cd md-ar-ext
44+
npm install
45+
npm run webpack-prod
46+
npm run package
47+
```
48+
49+
## Setting Up the Extension
50+
51+
### Initial Configuration
52+
53+
1. **Set up your Arweave Wallet Key**:
54+
- Run the command `Markdown Arweave Uploader: Update Arweave Private Key` (Ctrl+Shift+P or Cmd+Shift+P to open the command palette)
55+
- Paste your JWK JSON string, or
56+
- Use `Markdown Arweave Uploader: Import Arweave Key from File` to import from a file
57+
58+
2. **Quick Configure Settings**:
59+
- Run `Markdown Arweave Uploader: Quick Configure Settings` to set up common options
60+
- This guides you through setting image quality, dimensions, and other preferences
61+
62+
3. **Verify Setup**:
63+
- Run `Markdown Arweave Uploader: Check ImageMagick Installation` to verify ImageMagick is properly installed
64+
- Run `Markdown Arweave Uploader: Check Arweave Wallet Balance` to confirm your wallet is configured correctly
65+
66+
### Customizing Settings
67+
68+
Access detailed settings by:
69+
- Running `Markdown Arweave Uploader: Open Extension Settings`, or
70+
- Opening VS Code Settings (Ctrl+, or Cmd+,) and searching for "Markdown Arweave Uploader"
71+
72+
**Key Settings**:
73+
74+
| Setting | Description | Default |
75+
|---------|-------------|---------|
76+
| `webpQuality` | WebP image quality (50-100) | 90 |
77+
| `maxWidth` | Maximum image width in pixels | 1876 |
78+
| `maxHeight` | Maximum image height in pixels | 1251 |
79+
| `enableMetadataTags` | Add metadata tags to Arweave uploads | false |
80+
| `customTags` | Custom Arweave tags (format: 'key:value') | [] |
81+
| `preserveOriginalImages` | Keep original image files | true |
82+
| `preserveProcessedImages` | Keep processed images after upload | false |
83+
| `showUploadProgress` | Show detailed upload progress | true |
84+
| `checkBalanceBeforeUpload` | Check wallet balance before uploads | true |
85+
| `retryCount` | Number of upload retries | 3 |
86+
| `showOptimizationStats` | Show image optimization statistics | true |
87+
88+
**Export/Import Settings**:
89+
- Use `Markdown Arweave Uploader: Export Settings` to save your configuration
90+
- Use `Markdown Arweave Uploader: Import Settings` to restore previously saved settings
91+
92+
## Usage
93+
94+
### Basic Operations
95+
96+
- **Paste and Upload**: `Markdown Arweave Uploader: Paste and Insert Image`
97+
- **Upload File**: `Markdown Arweave Uploader: Upload and Insert Image`
98+
- **Process Only**: `Markdown Arweave Uploader: Process Image (Without Uploading)`
99+
100+
### Wallet Operations
101+
102+
- **Check Balance**: `Markdown Arweave Uploader: Check Arweave Wallet Balance`
103+
- **Show Address**: `Markdown Arweave Uploader: Show Arweave Wallet Address`
104+
- **View History**: `Markdown Arweave Uploader: View Wallet Transaction History`
105+
106+
### Statistics
107+
108+
- **View Stats**: `Markdown Arweave Uploader: View Upload Statistics`
109+
- **Export Stats**: `Markdown Arweave Uploader: Export Upload Statistics`
110+
- **Verify Transactions**: `Markdown Arweave Uploader: Verify Pending Transactions`
111+
7112
## Features
8113

9114
- Paste images from clipboard directly into Markdown files
@@ -31,63 +136,13 @@ The extension uses a modular architecture with clear separation of concerns:
31136

32137
- **Commands**: Each user command is implemented as a separate function
33138

34-
## Requirements
35-
36-
- ImageMagick must be installed for image processing
37-
- An Arweave wallet key (JWK) for uploads
38-
- VS Code 1.85.0 or higher
39-
40-
## Installation
41-
42-
### Install ImageMagick
43-
44-
- **macOS**: `brew install imagemagick`
45-
- **Windows**: Download from [ImageMagick Website](https://imagemagick.org/script/download.php)
46-
- **Linux**: `sudo apt-get install imagemagick`
47-
48-
### Install Extension
49-
50-
- Install from VS Code Marketplace (coming soon)
51-
- Or build from source:
52-
```
53-
git clone https://github.com/yourusername/md-ar-ext.git
54-
cd md-ar-ext
55-
npm install
56-
npm run compile
57-
```
58-
59-
## Usage
60-
61-
### Set Up
62-
63-
1. Run the command `md-ar-ext: Update Arweave Private Key` to set your wallet key
64-
2. Configure settings with `md-ar-ext: Quick Configure Settings`
65-
66-
### Basic Operations
67-
68-
- **Paste and Upload**: `md-ar-ext: Paste and Insert Image`
69-
- **Upload File**: `md-ar-ext: Upload and Insert Image`
70-
- **Process Only**: `md-ar-ext: Process Image (Without Uploading)`
71-
72-
### Wallet Operations
73-
74-
- **Check Balance**: `md-ar-ext: Check Arweave Wallet Balance`
75-
- **Show Address**: `md-ar-ext: Show Arweave Wallet Address`
76-
- **View History**: `md-ar-ext: View Wallet Transaction History`
77-
78-
### Statistics
79-
80-
- **View Stats**: `md-ar-ext: View Upload Statistics`
81-
- **Export Stats**: `md-ar-ext: Export Upload Statistics`
82-
- **Verify Transactions**: `md-ar-ext: Verify Pending Transactions`
83-
84139
## Development
85140

86141
### Setup
87142

88143
```bash
89144
# Clone the repository
90-
git clone https://github.com/yourusername/md-ar-ext.git
145+
git clone https://github.com/dwarvesf/md-ar-ext.git
91146

92147
# Install dependencies
93148
cd md-ar-ext
@@ -138,4 +193,4 @@ See [TECH-GUIDE.md](./docs/TECH-GUIDE.md) for more details on our testing approa
138193

139194
## License
140195

141-
[MIT](LICENSE)
196+
[MIT](LICENSE)

docs/IMPROVEMENT-PLAN.md

+195
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
# md-ar-ext: Improvement Plan
2+
3+
This document outlines the planned improvements for the md-ar-ext VS Code extension, based on the current state of the project and future requirements.
4+
5+
## 1. Testing Completion
6+
7+
**Priority: High**
8+
9+
Current testing coverage is insufficient (unit tests 40%, integration tests 20%). The following actions are needed:
10+
11+
- [ ] Complete unit test coverage to reach 90% target across all modules
12+
- [ ] Expand integration tests to reach 80% target
13+
- [ ] Implement end-to-end testing for common user workflows
14+
- [ ] Set up CI/CD pipeline for automated testing
15+
- [ ] Complete cross-platform testing (Windows, macOS, Linux)
16+
17+
**Estimated Timeline:** 4 weeks
18+
19+
## 2. Documentation Implementation
20+
21+
**Priority: High**
22+
23+
Phase 3 documentation is still pending completion. Required deliverables:
24+
25+
- [ ] Comprehensive user documentation with examples and tutorials
26+
- [ ] Developer documentation for extension architecture
27+
- [ ] API documentation for all public interfaces
28+
- [ ] Code comments and JSDoc across the codebase
29+
- [ ] Update existing documentation to reflect current implementation
30+
31+
**Estimated Timeline:** 3 weeks
32+
33+
## 3. Feature Enhancement Implementation
34+
35+
**Priority: Medium**
36+
37+
The following features from the future enhancements list should be prioritized:
38+
39+
### 3.1. Batch Processing
40+
41+
- [ ] Implement multi-file selection for uploads
42+
- [ ] Add progress tracking for batch operations
43+
- [ ] Provide summary reports for batch operations
44+
- [ ] Add configuration options for batch processing
45+
46+
**Estimated Timeline:** 2 weeks
47+
48+
### 3.2. Statistics Dashboard
49+
50+
- [ ] Design and implement visual statistics dashboard
51+
- [ ] Add charts and graphs for upload history
52+
- [ ] Implement data visualization for optimization metrics
53+
- [ ] Add export functionality for statistics data
54+
55+
**Estimated Timeline:** 3 weeks
56+
57+
### 3.3. Advanced Image Editing
58+
59+
- [ ] Implement basic image cropping functionality
60+
- [ ] Add simple filters and adjustments
61+
- [ ] Provide preview capabilities for edits
62+
- [ ] Implement undo/redo for image modifications
63+
64+
**Estimated Timeline:** 4 weeks
65+
66+
## 4. Performance Optimizations
67+
68+
**Priority: Medium**
69+
70+
Areas for performance improvement:
71+
72+
- [ ] Optimize image processing pipeline for faster conversion
73+
- [ ] Implement caching for network operations
74+
- [ ] Add connection pooling for Arweave interactions
75+
- [ ] Reduce memory footprint during large image processing
76+
- [ ] Implement background processing for non-blocking operations
77+
78+
**Estimated Timeline:** 3 weeks
79+
80+
## 5. Error Handling and User Experience
81+
82+
**Priority: High**
83+
84+
Improvements to error handling and user interaction:
85+
86+
- [ ] Enhance error messages with actionable guidance
87+
- [ ] Implement better progress reporting for long-running operations
88+
- [ ] Add more visual indicators for task status
89+
- [ ] Improve notification system for user feedback
90+
- [ ] Implement interactive troubleshooting guides
91+
92+
**Estimated Timeline:** 2 weeks
93+
94+
## 6. Wallet Management Enhancements
95+
96+
**Priority: Medium**
97+
98+
Extended wallet functionality:
99+
100+
- [ ] Implement wallet backup and restore functionality
101+
- [ ] Add support for multiple wallet management
102+
- [ ] Enhance wallet security with additional verification options
103+
- [ ] Improve balance monitoring and notifications
104+
- [ ] Add transaction history view
105+
106+
**Estimated Timeline:** 3 weeks
107+
108+
## 7. Dependency and Platform Updates
109+
110+
**Priority: Low**
111+
112+
Technical updates:
113+
114+
- [ ] Update Node.js compatibility to v16.0.0+
115+
- [ ] Update VS Code API compatibility to latest LTS version
116+
- [ ] Modernize build pipeline with latest tools
117+
- [ ] Refactor code to use newer JavaScript/TypeScript features
118+
- [ ] Update all dependencies to latest compatible versions
119+
120+
**Estimated Timeline:** 2 weeks
121+
122+
## 8. Extended Integration Support
123+
124+
**Priority: Low**
125+
126+
Support for additional platforms and services:
127+
128+
- [ ] Implement integration with additional Markdown publishing platforms
129+
- [ ] Add support for more blockchain storage options beyond Arweave
130+
- [ ] Implement metadata tagging with AI-assisted suggestions
131+
- [ ] Add support for additional image formats
132+
- [ ] Develop plugin system for custom integrations
133+
134+
**Estimated Timeline:** 6 weeks
135+
136+
## Implementation Roadmap
137+
138+
The improvements are organized into three phases:
139+
140+
### Phase 1: Core Stability (Weeks 1-6)
141+
- Testing Completion
142+
- Documentation Implementation
143+
- Error Handling and User Experience
144+
145+
### Phase 2: Feature Enhancement (Weeks 7-16)
146+
- Batch Processing
147+
- Statistics Dashboard
148+
- Advanced Image Editing
149+
- Performance Optimizations
150+
- Wallet Management Enhancements
151+
152+
### Phase 3: Platform Expansion (Weeks 17-24)
153+
- Dependency and Platform Updates
154+
- Extended Integration Support
155+
156+
## Progress Tracking
157+
158+
A GitHub project board will be set up to track the progress of each improvement area with the following columns:
159+
- Backlog
160+
- To Do
161+
- In Progress
162+
- Review
163+
- Done
164+
165+
Regular milestone reviews will be conducted every two weeks to assess progress and adjust priorities as needed.
166+
167+
## Resource Requirements
168+
169+
The following resources are estimated for implementing this improvement plan:
170+
171+
- **Development:** 2 full-time developers
172+
- **Testing:** 1 part-time QA specialist
173+
- **Documentation:** 1 part-time technical writer
174+
- **Design:** Occasional UI/UX design consultations
175+
176+
## Risk Assessment
177+
178+
Potential risks and mitigation strategies:
179+
180+
| Risk | Impact | Probability | Mitigation |
181+
|------|--------|------------|------------|
182+
| Dependency conflicts with newer versions | Medium | Medium | Create comprehensive test suite before upgrading |
183+
| Performance degradation with new features | High | Low | Implement performance benchmarks and testing |
184+
| Cross-platform compatibility issues | Medium | Medium | Set up automated testing on all target platforms |
185+
| Arweave API changes | High | Low | Build abstraction layer for blockchain interactions |
186+
187+
## Success Metrics
188+
189+
The following metrics will be used to measure the success of this improvement plan:
190+
191+
- Test coverage percentage (target: >90% unit, >80% integration)
192+
- Number of open issues and bugs (target: <10 at any time)
193+
- User adoption rate (target: 20% growth)
194+
- Performance benchmarks (target: <3 seconds for image processing)
195+
- Documentation completeness (target: 100% of public APIs documented)

0 commit comments

Comments
 (0)