Skip to content

Commit 1c431ad

Browse files
committed
Initial commit
0 parents  commit 1c431ad

29 files changed

+8744
-0
lines changed

.github/FUNDING.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# These are supported funding model platforms
2+
3+
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4+
5+
patreon: # Replace with a single Patreon username
6+
7+
open_collective: # Replace with a single Open Collective username
8+
9+
ko_fi: kiku_jw
10+
11+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
12+
13+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
14+
15+
liberapay: # Replace with a single Liberapay username
16+
17+
issuehunt: # Replace with a single IssueHunt username
18+
19+
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
20+
21+
polar: # Replace with a single Polar username
22+
23+
buy_me_a_coffee: kiku
24+
25+
thanks_dev: d/gh/kiku-jw
26+
27+
custom: ['https://discord.gg/4Kxs97JvsU']
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
name: Bug Report
3+
about: Create a report to help us improve
4+
title: '[BUG] '
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
## 🐛 Bug Description
10+
11+
A clear and concise description of what the bug is.
12+
13+
## 🔄 Steps to Reproduce
14+
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
## ✅ Expected Behavior
21+
22+
A clear and concise description of what you expected to happen.
23+
24+
## ❌ Actual Behavior
25+
26+
A clear and concise description of what actually happened.
27+
28+
## 📸 Screenshots
29+
30+
If applicable, add screenshots to help explain your problem.
31+
32+
## 🌐 Environment
33+
34+
- **Browser** (for web app): [e.g. Chrome 120, Firefox 121]
35+
- **OS**: [e.g. macOS 14.0, Windows 11, Ubuntu 22.04]
36+
- **Python version** (for CLI): [e.g. Python 3.9.7]
37+
- **DocStripper version**: [e.g. 1.2.0]
38+
- **Cleaning mode**: [Fast Clean / Smart Clean]
39+
40+
## 📝 Additional Context
41+
42+
Add any other context about the problem here.
43+
44+
## 📋 Checklist
45+
46+
- [ ] I have searched existing issues to ensure this bug hasn't been reported
47+
- [ ] I have tested with the latest version
48+
- [ ] I have included all relevant information

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: 💬 Discussions
4+
url: https://github.com/kiku-jw/DocStripper/discussions
5+
about: Ask questions or discuss ideas with the community
6+
- name: 📖 Documentation
7+
url: https://github.com/kiku-jw/DocStripper/wiki
8+
about: Check out our Wiki for detailed documentation
9+
- name: 🌐 Product Hunt
10+
url: https://www.producthunt.com/products/docstripper
11+
about: Check out DocStripper on Product Hunt
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
name: Feature Request
3+
about: Suggest an idea for this project
4+
title: '[FEATURE] '
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
## 💡 Feature Description
10+
11+
A clear and concise description of the feature you'd like to see.
12+
13+
## 🎯 Use Case
14+
15+
Describe the problem this feature would solve or the use case it would enable.
16+
17+
**Example:** "I'm always frustrated when [...]"
18+
19+
## 🔧 Proposed Solution
20+
21+
A clear and concise description of what you want to happen.
22+
23+
## 🔄 Alternative Solutions
24+
25+
A clear and concise description of any alternative solutions or features you've considered.
26+
27+
## 📊 Impact
28+
29+
- **Who would benefit?** [e.g. CLI users, web app users, both]
30+
- **Priority:** [Low / Medium / High]
31+
- **Complexity:** [Low / Medium / High]
32+
33+
## 📝 Additional Context
34+
35+
Add any other context, mockups, or examples about the feature request here.
36+
37+
## 📋 Checklist
38+
39+
- [ ] I have searched existing issues to ensure this feature hasn't been requested
40+
- [ ] I have considered the impact on existing functionality
41+
- [ ] I am willing to help implement this feature (if applicable)
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
name: Good First Issue
3+
about: Suggest a good first issue for new contributors
4+
title: '[GOOD FIRST ISSUE] '
5+
labels: good first issue
6+
assignees: ''
7+
---
8+
9+
## 🎯 Task Description
10+
11+
A clear and concise description of what needs to be done.
12+
13+
## 📚 Learning Resources
14+
15+
Links to relevant documentation or code sections:
16+
17+
- [Link to relevant file](path/to/file)
18+
- [Link to documentation](url)
19+
20+
## 🔧 Implementation Steps
21+
22+
1. Step 1
23+
2. Step 2
24+
3. Step 3
25+
26+
## ✅ Acceptance Criteria
27+
28+
- [ ] Criterion 1
29+
- [ ] Criterion 2
30+
- [ ] Criterion 3
31+
32+
## 💡 Tips for Contributors
33+
34+
- Tip 1
35+
- Tip 2
36+
- Tip 3
37+
38+
## 📝 Additional Notes
39+
40+
Any additional information that might be helpful.

.gitignore

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Python
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
*.so
6+
.Python
7+
*.egg-info/
8+
dist/
9+
build/
10+
*.egg
11+
12+
# DocStripper
13+
.strip-log
14+
*.bak
15+
16+
# Test files (keep examples, ignore test files)
17+
test*.txt
18+
test*.bak
19+
edge_case.txt
20+
test_input.txt
21+
test_utf8.txt
22+
*_test.txt
23+
*_test.bak
24+
25+
# IDE
26+
.vscode/
27+
.idea/
28+
*.swp
29+
*.swo
30+
*.sublime-project
31+
*.sublime-workspace
32+
33+
# OS
34+
.DS_Store
35+
Thumbs.db
36+
*.tmp
37+
38+
# Stray directories
39+
~/
40+
41+
# Build artifacts
42+
*.pyc
43+
.pytest_cache/
44+
.coverage
45+
htmlcov/

CODE_OF_CONDUCT.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Code of Conduct
2+
3+
## Our Pledge
4+
5+
We pledge to make participation in our project a harassment-free experience for everyone.
6+
7+
## Our Standards
8+
9+
Examples of behavior that contributes to creating a positive environment include:
10+
11+
- Using welcoming and inclusive language
12+
- Being respectful of differing viewpoints and experiences
13+
- Gracefully accepting constructive criticism
14+
- Focusing on what is best for the community
15+
- Showing empathy towards other community members
16+
17+
Examples of unacceptable behavior include:
18+
19+
- The use of sexualized language or imagery
20+
- Trolling, insulting/derogatory comments, and personal or political attacks
21+
- Public or private harassment
22+
- Publishing others' private information without explicit permission
23+
- Other conduct which could reasonably be considered inappropriate in a professional setting
24+
25+
## Our Responsibilities
26+
27+
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28+
29+
## Scope
30+
31+
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.
32+
33+
## Enforcement
34+
35+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project maintainers. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances.
36+
37+
## Attribution
38+
39+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.0.
40+

INSTALL.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Installation Guide
2+
3+
## PyPI Installation
4+
5+
```bash
6+
pip install docstripper
7+
```
8+
9+
After installation, use:
10+
```bash
11+
docstripper document.txt
12+
```
13+
14+
## Homebrew Installation
15+
16+
**Recommended: Install from Tap**
17+
18+
```bash
19+
brew tap KikuAI-Lab/docstripper
20+
brew install docstripper
21+
```
22+
23+
**Alternative: Install from Local Formula**
24+
25+
```bash
26+
brew install --build-from-source docstripper.rb
27+
```
28+
29+
After installation, use:
30+
```bash
31+
docstripper document.txt
32+
```
33+
34+
## Manual Installation
35+
36+
```bash
37+
# Clone repository
38+
git clone https://github.com/KikuAI-Lab/DocStripper.git
39+
cd DocStripper
40+
41+
# Make executable (optional, for direct usage)
42+
chmod +x tool.py
43+
44+
# Use directly
45+
python tool.py document.txt
46+
47+
# Or create symlink
48+
sudo ln -s $(pwd)/tool.py /usr/local/bin/docstripper
49+
```
50+
51+
## Requirements
52+
53+
- Python 3.9 or higher
54+
- For PDF support (optional): `pdftotext` from poppler-utils
55+
- macOS: `brew install poppler`
56+
- Ubuntu/Debian: `sudo apt-get install poppler-utils`
57+
- Windows: Download from [poppler-windows releases](https://github.com/oschwartz10612/poppler-windows/releases/)
58+
59+
## Verification
60+
61+
Run the self-test script:
62+
```bash
63+
python scripts/self_test.py
64+
```

LICENSE.txt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
MIT License
2+
3+
Copyright (c) 2025 DocStripper
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.
22+
23+
24+

0 commit comments

Comments
 (0)