feat: Confluence Enterprise support (Data Center), offline navigation, index bar, and index restructuring sandbox#1
Open
SomeSunlight wants to merge 6 commits intojgoldin-skillz:mainfrom
Open
Conversation
…ation Major refactoring to support Confluence Data Center and improve export quality. Key Changes: - **Platform Support:** Added support for Confluence Data Center using Personal Access Tokens (PAT), including VPN/Intranet connectivity checks and specific error messages. - **Visual Fidelity:** Switched API retrieval from `storage` to `export_view` format to correctly render macros, emoticons, and layouts. - **Offline Capability:** Integrated `BeautifulSoup` to parse HTML, download embedded images/attachments, and rewrite internal links to relative local paths. - **Styling:** Implemented a two-layer CSS strategy (Standard + Custom) and automatic CSS discovery. - **Navigation:** Added automatic generation of a global `index.html` for easier navigation of the exported structure. - **UX:** Added `tqdm` for progress tracking and improved output directory management (timestamped folders). - **Configuration:** Externalized platform-specific API paths to `confluence_products.ini`. Fixes authentication issues and ensures robust handling of pages that cannot be downloaded.
Implements the offline restructuring workflow for the index of all pages and finalizes the UI/UX.
Key Changes:
- **Index Sandbox:** Introduced `create_editor.py` and `patch_sidebar.py`. This tooling replaces direct Markdown editing (which caused performance issues in IDEs) with a lightweight, zero-dependency HTML Drag & Drop editor for restructuring the export.
- **Navigation & UI:**
- Implemented a fully hierarchical sidebar with proper indentation.
- Added a robust JavaScript resizer for the sidebar; width is persisted via localStorage.
- Fixed hamburger menu positioning and layout margins/paddings.
- Resolved issue with duplicate entries in the index.
- **Metadata:** Added automatic injection of Page Title, Author, and Modification Date to the top of the HTML body for every page.
- **Versioning:** Output directory generation now includes timestamps (e.g., `YYYY-MM-DD HHMM [Title]`) to support clean history management.
- **Fixes:** Addressed various edge cases in tree generation and CSS layouting.
- Added \n in downloaded HTML to enhance readbility - added help messages to command line parameters - "last changed by" now in English instead of german. Would need localization, but out of scope now.
- Added manual override with mhtml as fix for confluence export errors on pages with filtered tables. - Less large header sizes in exports - Rewritten README.md and CONTRIBUTING.md in the hope to make all easier to understand for those who are first time reading it, and make it easier to start with first results right from the beginning.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces a major refactoring to support Confluence Data Center in addition to Cloud, while adding significant features for offline usage and architecture reviews.
Key Changes
storagetoexport_viewto correctly render macros, emoticons, and layouts.create_editor.pyandpatch_sidebar.py) to visually restructure the exported documentation offline via Drag & Drop without affecting Confluence.--threads) for faster downloads.confluence_products.inifor better maintainability.I have developed and tested these changes on a Confluence Data Center instance.
I have carefully migrated the existing Cloud logic into the new
confluence_products.inistructure andmyModules.py, ensuring the logic remains sound. However, I do not have access to a Confluence Cloud instance to verify the refactored authentication flow personally.Could you please verify if the Cloud profile in
confluence_products.iniworks as expected before merging?I hope it has for you value too!