Swapped out `requests` for `dulwich` in dependencies to better handle Git repository interactions. This change ensures more efficient and specialized Git operations within the project. No changes to functionality expected.
Provided type annotations and detailed docstrings for all routes
in the Flask application to improve code readability and
maintainability. Updated return types to use Flask's Response
object and included explanations of arguments and return values
for each route function, enhancing overall code documentation.
This change aims to facilitate better understanding and easier
maintenance of the codebase, particularly for new contributors.
Added detailed docstrings to the `RelativeURLRewriter` class and its methods
to improve code readability and maintainability. The docstrings provide
clear descriptions of the purpose, arguments, and return values for the
class and its subfunctions, aiding future developers in understanding
the URL rewriting process more easily.
Enhanced the InMemoryRepo and Git classes with type annotations and detailed docstrings for improved code readability and maintainability. Type hints were added to function signatures for clarity, and docstrings were expanded to include argument and return type descriptions. Addressed the ability to fetch file content and directory structure using specific commit hashes, defaulting to HEAD when not provided.
Introduced a GitHub Actions workflow for automated CI/CD of the Python package. This setup includes:
- Triggering on push events to any tag
- Containerized build environment using Node 20 on Bookworm
- Steps for code checkout, dependency installation, and publishing to PyPI
This enhancement streamlines the release process and ensures consistent packaging and distribution of the Python package.
Updated the version from 0.0.1 to 0.0.2 to reflect recent changes
and improvements in the project. This version increment is a
preparatory step for the upcoming release.
Updated the "Back to Parent Directory" link to handle file paths
starting with a slash. This adjustment ensures the URL is properly
constructed, preventing broken links and enhancing navigation
usability in the preview view.
Added 'dist/' to .gitignore to avoid checking in distribution files. Updated copyright information in LICENSE to reflect the Private.coffee Team ownership.
No functional code changes, just repository maintenance.
- Added file preview functionality, enabling users to view images, text, and markdown files directly within the app.
- Updated project metadata: changed author to "Private.coffee Team" and updated URLs.
- Introduced a main function to allow customizable host and port via environment variables.
- Enhanced raw file serving with MIME type checks and content disposition for better file handling.
- Fixed URL formats in templates for consistent navigation.
These improvements enhance usability and maintainability, providing a richer user experience and preparing for future enhancements.
- Added an index route and template for the homepage
- Moved to a custom markdown processor to handle relative URLs
- Enhanced CSS for better layout structure and styling
- Improved the directory listing logic to support path filtering
- Updated endpoint to serve raw files from main branch
- Added comprehensive documentation strings to Git class methods
These changes improve user navigation and content display across the application.
- Updated dependencies to include all optional Markdown2 extensions
- Improved file content handling to better support non-UTF-8 encodings
- Refined CSS styling for better readability and consistency
- Added new folder and file icons for directory listings
- Modified template paths for consistent asset loading
- Allowed navigation to parent directories in the file viewer
These changes enhance user experience by improving file handling, visual consistency, and navigation within the directory structure.
Introduced serving static assets with `send_from_directory` to handle CSS and other assets. Added new CSS styles for improved user interface, enhancing readability and presentation. Introduced a base template for better HTML file structure and consistency across web pages. Applied Bootstrap for responsive design and aesthetic improvements. Modified path template to extend base template and updated README section.
Introduce the initial project structure for gitcloak, a Python-based private frontend for GitHub repositories. Key changes include:
- Added .gitignore to exclude virtual environment, bytecode files, and cache directories.
- Added LICENSE file using the MIT License.
- Created a basic `pyproject.toml` with project metadata and dependencies.
- Implemented Flask-based application to render repository structure and file contents.
- Added `Git` class to handle interactions with remote GitHub repositories using Dulwich and requests.
- Included HTML template for displaying repo content.
- Created sample `test.py` for testing Git class methods.
This setup enables foundational project functionality and establishes a clear structure for further development.