Skip to content

Feature/imagick-and-refactor#5

Merged
deemonic merged 13 commits intodoxswap-v1.0.0from
feature/markdown-conversion
Mar 26, 2025
Merged

Feature/imagick-and-refactor#5
deemonic merged 13 commits intodoxswap-v1.0.0from
feature/markdown-conversion

Conversation

@deemonic
Copy link
Copy Markdown
Collaborator

This pull request introduces significant enhancements and updates to the Doxswap Laravel package, focusing on expanding its conversion capabilities to include image formats, improving the API, and simplifying the cleanup strategy. The most important changes include updating the README to reflect new features, adding support for ImageMagick, and modifying the configuration and cleanup logic.

Enhancements and New Features:

  • README.md: Updated to include new image format conversion capabilities, detailed conversion tracking, and installation instructions for ImageMagick. [1] [2]
  • .github/workflows/main.yml: Added the imagick extension to the setup to support image processing.

Configuration Updates:

  • config/config.php: Simplified the cleanup configuration by replacing the cleanup_strategy with a perform_cleanup boolean flag. [1] [2]

Codebase Simplification:

  • src/ConversionCleanup.php: Refactored to remove the detailed cleanup strategies and instead use a simple perform_cleanup flag to determine if the input file should be deleted after conversion. [1] [2]
  • src/Converter.php: Removed the file and integrated its logic into other parts of the codebase for simplification.

Conversion Result Enhancements:

  • src/Contracts/ConversionStrategy.php and src/Contracts/ConvertibleFormat.php: Updated the convert method to return a ConversionResult object instead of a string, providing more detailed conversion information. [1] [2] [3] [4]
  • src/ConversionResult.php: Added a new class to encapsulate detailed conversion results, including filenames, file paths, duration, and timestamps.

@deemonic deemonic changed the title Feature/markdown conversion Feature/imagick-and-refactor Mar 26, 2025
@deemonic deemonic merged commit 64227ef into doxswap-v1.0.0 Mar 26, 2025
2 checks passed
@deemonic deemonic deleted the feature/markdown-conversion branch March 26, 2025 13:31
deemonic added a commit that referenced this pull request Mar 26, 2025
* Feature/add imagick as driver (#2)

* created conversion strategy interface

* added libreoffice and imagick strategies

* added a new converter class

* added driver and drivers array to config

* added contructor to strategies

* wip conversion validator

* wip

* created InputFileNotFoundException

* added a driver override method

* created cleanup service

* implemented cleanup strategy

* wip

* finished FileHandler

* removed ConversionService

* added todo for LibreOffice strategy

* Feature/implement registry (#3)

* wip

* updated disk in libreoffice strategy

* minor refactor and test for Format Registry

* added OdtFormat to registry

* added RtfFormat to the registry

* added TxtFormat to registry

* added HtmlFormat to registry

* added XmlFormat to registry

* added XlsxFormat to registry

* added OdsFormat to registry

* added XlsFormat to registry

* added PptxFormat to registry

* added PptFormat to registry

* added OdpFormat to registry

* added SvgFormat to registry

* added JpgFormat to registry

* added PngFormat to registry

* added BmpFormat to registry

* added TiffFormat to registry

* updated strategies

* undo composer changes

* Increase test coverage (#4)

* removed unused ConversionValidator

* added tests for cleanup

* added basic tests for Filename class

* added test for docx

* Add sample docs for integration tests

* debug mimetype

* updated libre_office path for gitgub action test

* workflow test

* workflow test

* test workflow

* test workflow

* tes workflow

* updated libre office path

* added fileinfo to php in workflow

* added logs for mime detection

* testing logging

* testing workflow

* testing workflow

* adedd lfs files to workflow

* removed log statements

* added tests for Doc and BMP formats

* added CSV tests

* added html, jpg and odp tests

* wip

* updated ods smaple file

* added detect mimetype from zip method

* odt and png tests added

* added ppt conversion test

* added pptx and rtf tests

* added svg tests

* added tiff tests

* addd txt tests

* added xls test

* added xlsx test

* added xml test

* added libre office path to laravel env environment

* updated libreoffice path

* debug bmp in workflow

* updated mime types to array

* set libre office path

* added image/x-ms-bmp to bmp mimetypes

* Feature/imagick-and-refactor (#5)

* wip mark implementation

* wip markdown

* added imagick strategy + minor refactor

* refactored conversion result

* updated tests and added imagick to github workflow

* refactored cleanup service

* updated readme + added webp and gif support

* added tests for gif and webp

* adding gif and webp sample files

* updated cleanup class tests

* updated readme and testcase

* added potrace install to the workflow

* updated test case

* updated readme

* added sponsors section to readme + funding.yml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant