Skip to content

Commit 14443cb

Browse files
committed
v1.0.0
1 parent 473af5c commit 14443cb

40 files changed

+4732
-1
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: 🐞 Bug Report
2+
ddescription: Help improve SwingFX Markdown Preview by reporting a bug
3+
title: "[Bug] <Short bug summary>"
4+
labels: ["bug"]
5+
assignees:
6+
- raghul-tech
7+
8+
body:
9+
- type: markdown
10+
attributes:
11+
value: |
12+
## 🐛 Thanks for helping us improve SwingFX-Markdown-Preview!
13+
Please fill out the details below to report your bug clearly.
14+
15+
- type: input
16+
id: environment
17+
attributes:
18+
label: 💻 Environment
19+
description: Tell us about your system and setup.
20+
placeholder: "e.g. Windows 11, Java 17, SwingFX-Markdown-Preview 1.0.0"
21+
validations:
22+
required: true
23+
24+
- type: textarea
25+
id: what-happened
26+
attributes:
27+
label: 😕 What went wrong?
28+
description: Describe the problem or error clearly.
29+
placeholder: "Example: Markdown preview panel fails to render headings."
30+
validations:
31+
required: true
32+
33+
- type: textarea
34+
id: steps
35+
attributes:
36+
label: 🧪 Steps to Reproduce
37+
description: List the steps to see the bug.
38+
placeholder: |
39+
Example:
40+
1. Open a Markdown file in the preview panel
41+
2. Switch theme to Dark Mode
42+
3. Preview becomes blank
43+
validations:
44+
required: true
45+
46+
- type: textarea
47+
id: expected
48+
attributes:
49+
label: ✅ What should have happened?
50+
description: Describe what you expected instead.
51+
placeholder: "I expected the Markdown preview to render correctly when switching themes."
52+
validations:
53+
required: true
54+
55+
- type: textarea
56+
id: logs
57+
attributes:
58+
label: 📄 Error Message or Logs (optional)
59+
description: Paste any relevant error messages or stack traces here (if available).
60+
render: shell
61+
62+
- type: textarea
63+
id: screenshots
64+
attributes:
65+
label: 📸 Screenshot (optional)
66+
description: Add a screenshot if it helps explain the issue.
67+
68+
- type: checkboxes
69+
id: checklist
70+
attributes:
71+
label: ✅ Before submitting this bug report...
72+
options:
73+
- label: I checked for [existing issues](https://github.com/raghul-tech/SwingFX-Markdown-Preview/issues)
74+
required: true
75+
- label: I’m using the **latest version** of SwingFX-Markdown-Preview
76+
required: true
77+
- label: I provided all required information
78+
required: true

.github/workflows/codeql.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: CodeQL Analysis
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
schedule:
9+
- cron: '0 0 * * 0' # Weekly run
10+
11+
jobs:
12+
analyze:
13+
name: Analyze CodeQL
14+
runs-on: ubuntu-latest
15+
permissions:
16+
actions: read
17+
contents: read
18+
security-events: write
19+
20+
strategy:
21+
fail-fast: false
22+
matrix:
23+
language: [ 'java' ]
24+
25+
steps:
26+
- name: 🛎️ Checkout repository
27+
uses: actions/checkout@v3
28+
29+
- name: 🔍 Initialize CodeQL
30+
uses: github/codeql-action/init@v3
31+
with:
32+
languages: ${{ matrix.language }}
33+
34+
- name: ☕ Set up JDK
35+
uses: actions/setup-java@v3
36+
with:
37+
java-version: '17'
38+
distribution: 'temurin'
39+
40+
- name: 🛠️ Build project with Maven
41+
run: mvn clean install
42+
43+
- name: 🧠 Perform CodeQL Analysis
44+
uses: github/codeql-action/analyze@v3

.github/workflows/maven.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Maven Build
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v3
16+
17+
- name: Set up JDK
18+
uses: actions/setup-java@v3
19+
with:
20+
java-version: '17'
21+
distribution: 'temurin'
22+
23+
- name: Import GPG key
24+
run: |
25+
echo "$GPG_PRIVATE_KEY" | gpg --batch --import
26+
echo "allow-loopback-pinentry" >> ~/.gnupg/gpg-agent.conf
27+
echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf
28+
env:
29+
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
30+
31+
- name: Build with Maven (GPG Enabled)
32+
run: mvn -B clean install -Dgpg.passphrase="${{ secrets.GPG_PASSPHRASE }}" -Dgpg.pinentry.mode=loopback

CHANGELOG.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# 📄 Changelog
2+
3+
All notable changes to **SwingFX Markdown Preview** are documented in this file.
4+
5+
This project follows [Semantic Versioning](https://semver.org/).
6+
7+
---
8+
9+
## [1.0.0] - 2025-07-04
10+
11+
🎉 **Initial Release**
12+
13+
### 🪶 SwingFX Markdown Preview (Core)
14+
15+
- First release of the **core library**.
16+
- Provides:
17+
- Swing components (panel, window, tabbed preview) for rendering Markdown via JavaFX WebView.
18+
- Theme switching (light/dark).
19+
- Live preview updates.
20+
- File change detection and reload prompts.
21+
- HTML export support.
22+
- **Does NOT include Flexmark or JavaFX**—developers must add them separately.
23+
24+
---
25+
26+
### ✨ SwingFX Markdown Preview (Flexmark)
27+
28+
- First release of the **Flexmark preconfigured module**.
29+
- Includes:
30+
- All features of the Core module.
31+
- Pre-bundled **Flexmark (`flexmark-all 0.64.8`)** for Markdown parsing.
32+
- JavaFX libraries still **required separately** on the classpath or module path.
33+
- Recommended if you want Flexmark included but manage JavaFX yourself.
34+
35+
---
36+
37+
### 💼 SwingFX Markdown Preview (All-In-One)
38+
39+
- First release of the **fat jar** distribution.
40+
- Bundles:
41+
- **Flexmark** for Markdown rendering.
42+
- **All JavaFX libraries** for out-of-the-box runtime.
43+
- Designed for:
44+
- Easiest setup with no external dependencies.
45+
- Immediate integration in Swing applications.
46+
47+
---
48+
49+
## 📦 Artifacts
50+
51+
| Module | Maven Coordinates |
52+
|-----------------------------------------|----------------------------------------------------------------------------|
53+
| Core (no Flexmark, no JavaFX) | `io.github.raghul-tech:swingfx-markdown-preview:1.0.0` |
54+
| Flexmark (includes Flexmark only) | `io.github.raghul-tech:swingfx-markdown-preview-flexmark:1.0.0` |
55+
| All-In-One (Flexmark + JavaFX) | `io.github.raghul-tech:swingfx-markdown-preview-all:1.0.0` |
56+
57+
---
58+
59+
## 🚀 How to Upgrade
60+
61+
This is the initial release—no prior versions exist.
62+
63+
---
64+
65+
## 🔗 Links
66+
67+
- [Repository](https://github.com/raghul-tech/SwingFX-Markdown-Preview)
68+
- [Issue Tracker](https://github.com/raghul-tech/SwingFX-Markdown-Preview/issues)
69+
70+
---

CODE_OF_CONDUCT.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Code of Conduct
2+
3+
## 👋 Our Pledge
4+
5+
We as contributors and maintainers of **SwingFX-Markdown-Preview** pledge to make participation in our project a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6+
7+
We are committed to making this project a welcoming and respectful space for all.
8+
9+
---
10+
11+
## ✅ Expected Behavior
12+
13+
- Be respectful, kind, and constructive.
14+
- Use welcoming and inclusive language.
15+
- Gracefully accept constructive criticism.
16+
- Focus on what is best for the community and the project.
17+
- Show empathy towards other community members.
18+
19+
---
20+
21+
## 🚫 Unacceptable Behavior
22+
23+
- Harassment, abuse, or threats of any kind.
24+
- Discriminatory jokes, language, or imagery.
25+
- Public or private harassment.
26+
- Personal attacks or insulting comments.
27+
- Other conduct which could reasonably be considered inappropriate in a professional setting.
28+
29+
---
30+
31+
## 🧑‍⚖️ Reporting Issues
32+
33+
If you see or experience unacceptable behavior, please report it by contacting the project maintainer:
34+
35+
**📬 Contact**: [[email protected]](mailto:[email protected])
36+
37+
All reports will be reviewed and investigated confidentially and respectfully.
38+
39+
---
40+
41+
## 🙌 Enforcement
42+
43+
Anyone asked to stop unacceptable behavior is expected to comply immediately. Maintainers have the right to remove, edit, or reject comments, commits, code, or other contributions that violate this Code of Conduct.
44+
45+
---
46+
47+
## 📄 Attribution
48+
49+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1.
50+
51+
---
52+
53+
Thank you for helping make **SwingFX-Markdown-Preview** a friendly and inclusive project! 🚀

CONTRIBUTING.md

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# 🙌 Contributing to SwingFX-Markdown-Preview
2+
3+
Thank you for your interest in contributing to **SwingFX-Markdown-Preview**! 🎉
4+
We welcome all kinds of contributions — from bug fixes and documentation improvements to new features and performance enhancements.
5+
6+
---
7+
8+
## 💡 How to Contribute
9+
10+
### 1️⃣ Fork the Repository
11+
Click the **"Fork"** button at the top right of the [SwingFX-Markdown-Preview repository](https://github.com/raghul-tech/SwingFX-Markdown-Preview) to create your own copy.
12+
13+
---
14+
15+
### 2️⃣ Clone Your Fork
16+
Clone your forked repository to your local machine:
17+
18+
```bash
19+
git clone https://github.com/YOUR_USERNAME/SwingFX-Markdown-Preview.git
20+
cd SwingFX-Markdown-Preview
21+
```
22+
23+
*(Replace `YOUR_USERNAME` with your GitHub username.)*
24+
25+
---
26+
27+
### 3️⃣ Create a Branch
28+
Create a new branch for your changes:
29+
30+
```bash
31+
git checkout -b fix/live-reload-improvements
32+
```
33+
34+
Use a **descriptive branch name** that explains what you’re working on.
35+
36+
---
37+
38+
### 4️⃣ Make Your Changes
39+
- Update code.
40+
- Add or improve tests.
41+
- Write or update documentation.
42+
- Verify your changes work as expected.
43+
44+
---
45+
46+
### 5️⃣ Commit and Push
47+
Commit your changes with a clear message:
48+
49+
```bash
50+
git add .
51+
git commit -m "Feat: improve live preview reload when file changes"
52+
git push origin fix/live-reload-improvements
53+
```
54+
55+
---
56+
57+
### 6️⃣ Open a Pull Request
58+
1. Go to your forked repository on GitHub.
59+
2. Click **“Compare & pull request.”**
60+
3. Provide a clear description of your changes.
61+
4. Click **“Create pull request.”**
62+
63+
We’ll review your contribution as soon as possible!
64+
65+
---
66+
67+
## 🧪 Adding Examples
68+
If you’d like to contribute example usage:
69+
70+
- Place examples in the `examples/` directory.
71+
- Keep examples **simple and focused**, showing one concept at a time.
72+
73+
---
74+
75+
## ✅ Code Style Guidelines
76+
- Use clear, descriptive names.
77+
- Keep methods small and focused.
78+
- Prefer `StandardCharsets.UTF_8` over string literals.
79+
- Use `try-catch` responsibly and avoid swallowing exceptions silently.
80+
- Follow existing formatting and indentation patterns.
81+
82+
---
83+
84+
## 🧹 Running Tests
85+
Before opening your pull request, please run:
86+
87+
```bash
88+
mvn clean verify
89+
```
90+
91+
This ensures your changes pass all checks.
92+
93+
---
94+
95+
## 📜 License
96+
By contributing, you agree that your contributions will be licensed under the [MIT License](LICENSE).
97+
98+
---
99+
100+
## ❤️ Thank You
101+
Your help makes **SwingFX-Markdown-Preview** better for everyone.
102+
Thank you for contributing!

0 commit comments

Comments
 (0)