mirror of
https://github.com/mokkiebear/heatmap-tracker.git
synced 2026-07-22 11:30:29 +00:00
- Migrate deprecated intensity fields (defaultEntryIntensity, intensityScaleStart, intensityScaleEnd) into a new intensityConfig object. - Update the HeatmapModal to use a form state for managing input values. - Modify the mergeTrackerData function to handle legacy intensity fields and ensure compatibility with new structure. - Adjust tests to reflect changes in the tracker data schema and ensure proper functionality. - Add a new utility function resolveDateRange to handle date range resolution based on various input parameters. - Document architecture and data flow for better understanding of the plugin's structure.
4.2 KiB
4.2 KiB
Contributing to Heatmap Tracker
First off, thank you for considering contributing to Heatmap Tracker! Your input is valuable and helps improve the project for everyone.
Table of Contents
Code of Conduct
Please read our Code of Conduct to understand the standards we expect from our community.
How Can I Contribute?
Reporting Bugs
If you encounter a bug, please report it by opening an issue. Include detailed information to help us understand and reproduce the problem:
- Summary: Concisely describe the issue.
- Steps to Reproduce: List the steps that lead to the problem.
- Expected Behavior: Describe what you expected to happen.
- Actual Behavior: Explain what actually happened.
- Screenshots: Attach any relevant images.
- Environment: Specify your operating system, Obsidian version, and plugin version.
Suggesting Enhancements
We welcome suggestions for new features or improvements. To propose an enhancement, open a new issue and provide:
- Use Case: Explain the problem your suggestion addresses.
- Proposal: Describe the suggested enhancement.
- Alternatives: Mention any alternative solutions you've considered.
- Additional Context: Include any other relevant information or screenshots.
Submitting Pull Requests
We appreciate your contributions! To submit a pull request:
- Fork the Repository: Click the "Fork" button at the top right of the repository page.
- Clone Your Fork: Clone your forked repository to your local machine.
git clone https://github.com/your-username/heatmap-tracker.git - Create a Branch: Create a new branch for your feature or bugfix.
git checkout -b feature/your-feature-name
- Make Changes: Implement your changes, ensuring adherence to the project’s coding standards. If the change is user-facing, add a bullet under
## [Unreleased]in CHANGELOG.md (see RELEASING.md). - Commit Changes: Commit your changes with a descriptive commit message.
git commit -m "Add feature: your feature description"
- Push to GitHub: Push your changes to your forked repository.
git push origin feature/your-feature-name
- Open a Pull Request: Navigate to the original repository and open a pull request.
Development Setup
To set up a development environment:
- Install Dependencies: Run
npm installto install the required dependencies. - Start Development Server: Use
npm run devto start the development server. This will automatically transpile TypeScript to JavaScript and copy the generated files to the example vault. - Enable Hot-Reload: Ensure the hot-reload plugin is installed in the example vault to reload Obsidian automatically upon code changes.
For more detailed instructions, refer to the README.md.
Style Guides
Commit Messages
- Format: Use the present tense (“Add feature” not “Added feature”).
- Structure: Begin with a short summary, followed by a detailed description if necessary.
- Issue References: Reference relevant issues by number (e.g., #123).
Additional Resources
- Architecture: Read ARCHITECTURE.md for how data flows through the codebase (schemas → types → context → views) before making structural changes.
- Roadmap: Check out the ROADMAP.md to see what’s planned for the future.
- Releasing: See RELEASING.md for how versions are published, and add a
CHANGELOG.mdentry under[Unreleased]for any user-facing change in your PR. - License: This project is licensed under the Apache-2.0 License.
Thank you for contributing to Heatmap Tracker!