Enhances the algorithm for extracting image dimensions from Telegram widget styles by introducing a more robust fallback mechanism. Previously relied on partial style matching which could miss dimension data encoded across multiple DOM elements.
Now checks wrapper elements and padding-top percentage ratios more systematically to synthesize layout dimensions when explicit width/height are unavailable. This ensures more reliable image aspect ratio calculation for content rendering.
Also clarifies error messages in the sync workflow and updates code comments from Chinese to English for better maintainability.
Replaces PostCSS-based styling with Tailwind CSS v4 via Vite plugin
Converts all .js files to .ts with proper type annotations
Adds comprehensive type definitions for Telegram data structures
Extracts reusable UI components and standardizes class utilities
Improves maintainability by eliminating custom CSS in favor of
Tailwind utilities and design tokens
Enhances type safety across Telegram parsing, env access, and API routes
Centralizes agent guidelines in AGENTS.md following repository standards
Upgrades iconography to astro-icon with Remix Icon integration
Expands accessible HTML patterns including ARIA labels, semantic
navigation, and keyboard interaction support
Refactors static proxy logic into shared utility functions
Consolidates modal and image preview markup for consistency
Updates social media handles, repository links, and funding references from old username to new one across configuration files, documentation, and layouts.
Switches from getRssString to modern rss helper function
Moves XSL stylesheet to dedicated static file
Improves code organization and maintainability
Simplifies RSS feed configuration while maintaining beautification option
Introduces a new RSS_BEAUTIFY configuration flag to enable RSS feed styling
- Adds XSL styling support for RSS feeds when enabled
- Updates documentation in both English and Chinese
- Modifies RSS generation to support the new styling option
Migration from rss to getRssString for enhanced customization
Implements dynamic favicon handling using wsrv.nl image service:
- Resizes channel avatar to 64x64
- Applies circular mask for consistent appearance
- Ensures HTTPS compatibility by stripping protocol
- Falls back to default favicon when no avatar exists
Improves visual consistency across different platforms and scales
- Prioritize SEO settings from page data over environment variables
- Improve title extraction logic to handle new line characters
- Set SEO parameters for specific pages to improve search visibility
Enhanced accessibility by wrapping time display in a semantic `<time>` element, ensuring better screen reader support. Removed inline styles and onclick attributes from elements, simplifying the code and improving performance.
- Introduce .dockerignore for Docker build optimization
- Add Dockerfile for containerization setup
- Update .env.example to clear Sentry variables and rename HOST to TELEGRAM_HOST
- Modify astro.config.mjs to conditionally exclude SSR dependencies in Docker builds
- Adjust postinstall script to safely handle missing .git directory
- Refactor telegram host retrieval for clarity and consistency
Enhanced pagination logic by adjusting the condition for displaying the 'Before' link, ensuring it appears when there's more than one item, improving user navigation. Improved URL handling in Telegram post and reply processing by using regular expressions for channel replacement, enhancing compatibility and robustness.
- Updated .gitignore to include new deployment and build tools
- Added @types/prismjs for improved TypeScript support in syntax highlighting
- Integrated PrismJS with additional languages for comprehensive code highlighting
Integrate flourite for improved language detection in code blocks, replacing manual detection logic. This enhances accuracy and supports a broader range of languages for syntax highlighting. Additionally, streamline CSS inclusion for code highlighting by importing directly from the package, reducing reliance on external CDN.
- Standardized image loading to lazy for consistency in modal previews
- Expanded allowed attributes for sanitization to support additional image properties
- Introduced an exclusive filter to exclude specific images by class during sanitization
- Hide video elements in widget for improved user experience
- Update header background for better contrast
- Prevent empty image containers from rendering
- Remove unsupported video player elements
- Add onclick attribute to links for enhanced functionality
- Include Yandex.ru in target whitelist for expanded compatibility
Improved image display by introducing a responsive grid layout for image lists, optimizing the first image's placement in odd-numbered lists to span across both columns. This change enhances visual appeal and usability, especially on larger screens. Additionally, refactored image retrieval logic to wrap images in a container, dynamically adjusting the class based on the number of images for tailored styling.
Improved scrolling smoothness and updated back-to-top button styling for better user experience. Simplified button visibility control using modern CSS techniques, ensuring compatibility and responsiveness across browsers.