1- # Contributing to MD -to-PDF
1+ # Contributing to md -to-pdf
22
3- Thank you for your interest in contributing to MD -to-PDF! This document provides guidelines and information for contributors .
3+ This document helps you contribute to md -to-pdf .
44
5- ## Table of Contents
5+ ## Table of contents
66
7- - [ Code of Conduct ] ( #code-of-conduct )
8- - [ Getting Started ] ( #getting-started )
9- - [ Development Setup ] ( #development-setup )
10- - [ Contributing Guidelines ] ( #contributing-guidelines )
11- - [ Plugin Development ] ( #plugin-development )
7+ - [ Code of conduct ] ( #code-of-conduct )
8+ - [ Getting started ] ( #getting-started )
9+ - [ Development setup ] ( #development-setup )
10+ - [ Contributing guidelines ] ( #contributing-guidelines )
11+ - [ Plugin development ] ( #plugin-development )
1212- [ Testing] ( #testing )
1313- [ Documentation] ( #documentation )
14- - [ Submitting Changes ] ( #submitting-changes )
15- - [ Code Review Process ] ( #code-review-process )
14+ - [ Submitting changes ] ( #submitting-changes )
15+ - [ Code review process ] ( #code-review-process )
1616
17- ## Code of Conduct
17+ ## Code of conduct
1818
19- This project adheres to a code of conduct that we expect all contributors to follow. Please be respectful, inclusive, and considerate in all interactions.
19+ Follow our code of conduct. Be respectful, inclusive, and considerate in all interactions.
2020
21- ## Getting Started
21+ ## Getting started
2222
2323### Prerequisites
2424
@@ -38,12 +38,12 @@ This project adheres to a code of conduct that we expect all contributors to fol
3838
39393 . Add the upstream repository:
4040 ``` bash
41- git remote add upstream https://github.com/original-owner /md-to-pdf.git
41+ git remote add upstream https://github.com/fredcamaral /md-to-pdf.git
4242 ```
4343
44- ## Development Setup
44+ ## Development setup
4545
46- ### Build the Project
46+ ### Build the project
4747
4848``` bash
4949# Install dependencies
@@ -59,7 +59,7 @@ make build-plugins
5959make test
6060```
6161
62- ### Project Structure
62+ ### Project structure
6363
6464```
6565md-to-pdf/
@@ -78,12 +78,12 @@ md-to-pdf/
7878│ └── markdown/ # Sample markdown files
7979├── pkg/ # Public API packages
8080│ └── plugin/ # Plugin development API
81- ├── docs / # Documentation
81+ ├── plugins / # Plugin directory and development guide
8282├── scripts/ # Build and deployment scripts
8383└── tests/ # Test files
8484```
8585
86- ### Development Workflow
86+ ### Development workflow
8787
88881 . Create a feature branch:
8989 ``` bash
@@ -102,17 +102,17 @@ md-to-pdf/
102102
1031035 . Push to your fork and create a pull request
104104
105- ## Contributing Guidelines
105+ ## Contributing guidelines
106106
107- ### Code Style
107+ ### Code style
108108
109109- Follow standard Go conventions and idioms
110110- Use ` gofmt ` and ` golint ` to format code
111111- Write clear, self-documenting code
112112- Add comments for complex logic
113113- Use meaningful variable and function names
114114
115- ### Commit Messages
115+ ### Commit messages
116116
117117Follow the conventional commit format:
118118
@@ -141,15 +141,15 @@ fix(renderer): resolve image positioning issue
141141docs(readme): update installation instructions
142142```
143143
144- ### Code Organization
144+ ### Code organization
145145
146- - Keep functions small and focused (ideally under 50 lines)
146+ - Keep your functions small and focused (ideally under 50 lines)
147147- Use interfaces to define contracts
148148- Separate concerns clearly
149149- Follow the dependency inversion principle
150150- Handle errors explicitly
151151
152- ### Error Handling
152+ ### Error handling
153153
154154- Use Go's idiomatic error handling
155155- Create custom error types when appropriate
@@ -173,13 +173,13 @@ func (e *Engine) Convert(opts ConversionOptions) error {
173173}
174174```
175175
176- ## Plugin Development
176+ ## Plugin development
177177
178- ### Plugin Types
178+ ### Plugin types
179179
180- MD -to-PDF supports two types of plugins:
180+ md -to-pdf supports two types of plugins:
181181
182- #### AST Transformers
182+ #### AST transformers
183183Modify the markdown AST before rendering:
184184
185185``` go
@@ -191,7 +191,7 @@ type ASTTransformer interface {
191191}
192192```
193193
194- #### Content Generators
194+ #### Content generators
195195Generate additional content during PDF creation:
196196
197197``` go
@@ -202,7 +202,7 @@ type ContentGenerator interface {
202202}
203203```
204204
205- ### Creating a Plugin
205+ ### Creating a plugin
206206
2072071 . Create a new directory in ` examples/plugins/ `
2082082 . Implement the required interfaces
@@ -214,7 +214,7 @@ Example plugin structure:
214214package main
215215
216216import (
217- " github.com/your-username /md-to-pdf/pkg/plugin"
217+ " github.com/fredcamaral /md-to-pdf/pkg/plugin"
218218)
219219
220220type MyPlugin struct {}
@@ -229,7 +229,7 @@ func NewPlugin() plugin.Plugin {
229229}
230230```
231231
232- ### Plugin Guidelines
232+ ### Plugin guidelines
233233
234234- Follow the plugin interface contracts
235235- Handle errors gracefully
@@ -239,7 +239,7 @@ func NewPlugin() plugin.Plugin {
239239
240240## Testing
241241
242- ### Running Tests
242+ ### Running tests
243243
244244``` bash
245245# Run all tests
@@ -255,9 +255,9 @@ go test ./internal/core -v
255255go test -race ./...
256256```
257257
258- ### Writing Tests
258+ ### Writing tests
259259
260- - Write unit tests for all public functions
260+ - Write unit tests for all public functions you create
261261- Use table-driven tests when appropriate
262262- Mock external dependencies
263263- Test error conditions
@@ -297,13 +297,13 @@ func TestEngine_Convert(t *testing.T) {
297297
298298## Documentation
299299
300- ### Code Documentation
300+ ### Code documentation
301301
302302- Use Go doc comments for exported functions and types
303303- Follow the standard Go documentation format
304304- Include examples in documentation when helpful
305305
306- ### README Updates
306+ ### README updates
307307
308308When adding new features:
309309- Update the feature list
@@ -317,17 +317,17 @@ Update CHANGELOG.md for all changes:
317317- Include the type of change (Added, Changed, Deprecated, Removed, Fixed, Security)
318318- Reference issue numbers when applicable
319319
320- ## Submitting Changes
320+ ## Submitting changes
321321
322- ### Pull Request Process
322+ ### Pull request process
323323
324- 1 . ** Update Documentation ** : Ensure documentation reflects your changes
325- 2 . ** Add Tests ** : Include tests for new functionality
326- 3 . ** Update Changelog ** : Add entry to CHANGELOG.md
327- 4 . ** Clean Commit History ** : Squash commits if necessary
328- 5 . ** Fill PR Template ** : Provide clear description of changes
324+ 1 . ** Update documentation ** : Update documentation to reflect your changes
325+ 2 . ** Add tests ** : Include tests for new functionality
326+ 3 . ** Update changelog ** : Add entry to CHANGELOG.md
327+ 4 . ** Clean commit history ** : Squash commits if necessary
328+ 5 . ** Fill PR template ** : Provide clear description of changes
329329
330- ### Pull Request Template
330+ ### Pull request template
331331
332332``` markdown
333333## Description
@@ -351,37 +351,41 @@ Brief description of changes
351351- [ ] Changelog updated
352352```
353353
354- ### What to Include
354+ ### What to include
355355
356356- Clear description of the problem and solution
357357- Screenshots for UI changes
358358- Performance impact assessment for significant changes
359359- Breaking change documentation
360360
361- ## Code Review Process
361+ ## Code review process
362362
363- ### Reviewer Guidelines
363+ ### Reviewer guidelines
364+
365+ As a reviewer, you should:
364366
365367- Focus on code quality, maintainability, and correctness
366368- Suggest improvements constructively
367369- Test the changes locally when possible
368370- Check documentation and tests
369371
370- ### Author Guidelines
372+ ### Author guidelines
373+
374+ As an author, you should:
371375
372376- Respond to feedback promptly
373377- Make requested changes or discuss alternatives
374378- Keep discussions focused and professional
375379- Update PR based on feedback
376380
377- ### Approval Process
381+ ### Approval process
378382
379383- At least one maintainer approval required
380384- All CI checks must pass
381385- No unresolved conversations
382386- Up-to-date with main branch
383387
384- ## Development Tips
388+ ## Development tips
385389
386390### Debugging
387391
@@ -396,18 +400,18 @@ Brief description of changes
396400- Consider memory allocation patterns
397401- Test with large files
398402
399- ### Plugin Development
403+ ### Plugin development
400404
401405- Start with the example plugins
402406- Use the provided plugin interfaces
403407- Test plugins with various markdown inputs
404408- Document plugin configuration options
405409
406- ## Getting Help
410+ ## Getting help
407411
408412- ** Issues** : Create an issue for bugs or feature requests
409413- ** Discussions** : Use GitHub Discussions for questions
410- - ** Documentation** : Check the docs/ directory
414+ - ** Documentation** : Check the README.md and plugins/README.md
411415- ** Examples** : Look at example plugins and markdown files
412416
413417## Recognition
@@ -417,4 +421,4 @@ Contributors will be recognized in:
417421- README.md contributors section
418422- Release notes for major features
419423
420- Thank you for contributing to MD -to-PDF!
424+ Thank you for contributing to md -to-pdf.
0 commit comments