Refactors to integrate fetching article info, badges, and interwiki links in a single request. Adds support to display category members and improves interwiki link processing by translating links where feasible. Adds error handling for interwiki processing. Updates HTML template to display category members.
Improves performance and reduces external requests, enhancing user navigation and data retrieval efficiency.
Fixes#19.
Fetches and displays badges for articles using the MediaWiki API.
Updates templates to show badges as icons linking to detailed info.
Adds CSS styling for badge presentation in the article view.
Enhances user experience by providing additional context through
quick-access badge information.
Fixes#21.
Adds emoji flags next to country names to improve
visual clarity and usability in the instances list.
Improves user understanding of instance locations.
Updates the project version from 0.1.5 to 0.1.6 in the pyproject.toml file. This version increment likely signifies minor changes, improvements, or bug fixes in the project.
Adds functionality to sort languages by user activity with overriding via environment variables.
Implements fetching and integration of interwiki links using the MediaWiki API.
Introduces UI elements for language selection with new styling.
Improves user experience by prioritizing more active languages and providing easy navigation via interwiki links.
Fixes#45
Adds lazy loading attribute to images to improve page load
performance and user experience by deferring the loading
of images until they are in the viewport.
Fixes#44.
Adds new public and Tor hidden service instances to the instances
section, including a new entry for Darkness.services.
Introduces sections for Tor Hidden Services and instructions
for adding new instances via pull requests or issues.
Enhances user support by detailing how to open issues or
provide feedback through Git or Github, and promotes
community engagement via a Matrix room.
Added a new public instance of Wikimore hosted by Lumaeris to the README list. This helps users discover more available instances and expands the visibility of the project.
Closes#42.
Incremented version number to prepare for the new release, ensuring the changes made are properly reflected and versioned. This update helps maintain proper version tracking for future development and release cycles.
Introduce a new route to handle redirects for different Wikimedia project domains. The route dynamically identifies the target project and language based on the domain name and redirects accordingly. If the project is not found, it displays a custom error page.
Enhances user navigation across Wikimedia subdomains, improving user experience and simplifying URL management. Addresses redirect issues for integration with LibRedirect (https://codeberg.org/LibRedirect/browser_extension/issues/142)
Updated single quote usage in URL generation for consistency and readability in `wiki_article` function. This improves code maintainability and avoids potential issues with character escaping.
Switched double quotes to single quotes in URL handling code for better consistency and to avoid potential issues with escaping characters. This ensures the proper construction of the API request URL, improving reliability when fetching wiki articles.
Included a new public instance of Wikimore provided by bloat.cat based in Germany. This update helps users find more public instances for better accessibility and redundancy.
Closes#39
Removed the unused exception variable from the error handling block during MediaWiki API request. This helps in reducing potential future linting errors and maintains cleaner code. No functional changes.
Introduced caching for license data retrieved from the MediaWiki API. This avoids redundant API requests by storing the license information for each base URL. Enhances performance and reduces the risk of hitting request limits or encountering errors due to multiple API calls.
Extended the home route to accept optional project and language
parameters to dynamically render content based on these inputs.
Improved handling within the article fetching function, including
validating projects and languages, adding variant headers, and
following redirects conditionally. Updated links to accommodate
internal, external, and interwiki links, with structured checks
for main page redirections. Removed redundant meta links and edit
sections to clean up the rendered content. Added proxying for images
and videos, converted category elements to links, and improved class
assignments for reference links. Ensured right-to-left languages are
handled appropriately.
Fixes#29.
Updated URL construction to correct escaping order of title and query parameters using `escape` after `quote`. This ensures proper encoding of characters and prevents potential errors when fetching articles and search results from the API.
Additionally, added a debug log for search result fetching URL to aid in troubleshooting.
Fixes#36.
Added functionality to fetch and display license information for wiki
articles. This enhancement provides users with clarity on content usage
permissions by showing a link to the article's license in the footer.
Fixes#35.
Added explicit setting for text direction to RTL in the HTML body
for Kurdish Arabic variant articles. This change ensures proper
display alignment for right-to-left languages, addressing layout
issues arising from API response inconsistencies.
Changed query parameter type to 'path' in search endpoint to ensure that slashes in search queries are correctly handled. This resolves issues with queries containing slashes not being processed properly.
Fixes#37.
Added a try-except block around the search results API call to handle potential errors gracefully. Now, if an exception occurs, an error message is logged, and the user is redirected to an error page with a 500 status code. This improves user experience by providing clear feedback when the search functionality fails.
Unset the float property for images within the infobox with the class 'mw-default-size'. This resolves layout issues where images were not aligning correctly in certain contexts. Ensures more consistent and expected rendering of infobox content.
Deleted .noprint class from stylesheet as its intent is unclear, simplifying the CSS file and reducing potential maintenance overhead. This change helps streamline the styling rules, making the codebase cleaner and easier to manage.
Removed redundant general styling and adjusted the widths in several elements to improve responsive behavior. Enhanced infobox design with a distinct title section for better readability and visual separation. These changes address layout issues on smaller screens and improve overall user experience.
Fixes#14, maybe?
Enhanced error handling for fetching Wikimedia projects with specific log messages for various exceptions including JSON decode, HTTP error, and URL error. Introduced support for "special" Wikimedia projects and updated functions to handle missing base URLs by checking special projects. Added detailed debug logging in `wiki_article` function for debugging failed article fetches.
style: add CSS rules for Wikidata content
Implemented new CSS styles for improved display and readability of Wikidata content elements such as entity views, statements, and references. These styles enhance the user interface, making it cleaner and more user-friendly.
Fixes#27.
Removed the default Flask logger to prevent duplicate logging entries.
Refined log output by adding a custom handler and formatter to ensure logs
are consistent and properly formatted.
Added functionality in `app.py` to propagate `data-mw-group` attribute classes to `mw-reflink-text` spans, enhancing footnote grouping. Updated CSS to properly style these footnotes, accounting for various numeral systems (alpha, roman, decimal) and ensuring consistent display of references.
Fixes#33.
Added a placeholder for the link to the comments section in the CSS to support a future implementation of comments retrieval in the backend. The placeholder includes styles for displaying a comment request link and setting its font properties.
Ref: #22
Updated CSS to ensure .category-link applies only to the last
section element. This change prevents unintended styling of
elements in other sections, enhancing the page's visual accuracy. Fixes#30.
Modified the display property of code blocks from block to inline-block to improve layout consistency and handle overflow-x better. This ensures better alignment with surrounding elements and more predictable rendering behavior. No visible design alterations should occur.
Ensure slashes in Wiki article titles are URL encoded to prevent request errors. This change resolves issues where titles containing slashes could break the API calls.
Fixes#23
Added comprehensive styling for Wikisource index and remarks
content to enhance visual consistency and user experience.
Key updates include container layouts, text formatting, image
display, collapsible sections, and link styles. Adjusted
styles for better responsiveness on smaller devices.
Addresses issues with unattractive and inconsistent layout
in Wikisource index.
Updated the error handling to address cases where the body is missing in the wiki article response. Instead of returning an error page, the code now constructs a default HTML structure and uses BeautifulSoup to parse it, ensuring the body content can still be located and processed. This improves robustness and user experience when dealing with incomplete or malformed article data.
Fixes#24.
Add a check for a missing body element when parsing wiki articles and return an error message with a 500 status code if the body is not found. This improves error handling and prevents crashes caused by unexpected HTML structures.
Extended CSS with new styling rules for evolution charts, enhancing the
visual presentation and interactivity of clade elements. Improved gallery
layout with responsive styling for a more user-friendly and aesthetically
pleasing experience, especially on smaller screens.
Fixes#20
Introduced a new CSS class for listing metadata to ensure consistent font size and color across the UI. This enhances the readability of metadata elements and aligns with the overall design aesthetics.
Fixes#26
Added styles for .mw-file-element to ensure media files are centered, displayed as blocks, and resized proportionally to fit within their containers. This enhances layout consistency across the application.
Fixes#14.
Enhanced the display rules for category links by enclosing them in brackets and setting them to be hidden by default outside of sections. Improved infobox image dimensions and alignment to ensure consistent display. Adjusted media queries for larger device padding.
Fixes#12.
- Default values for `lang` and `project` added in `render_template` to ensure consistent rendering parameters.
- Included `lang` and `project` parameters in error and article templates for better context in error messages.
- Enhanced search form in base template to persist selected `lang` and `project` improving user experience.
These changes provide a more consistent and localized user experience by maintaining language and project context across different parts of the application.
Fixes#17.
Transformed specific 'link' elements into anchor tags with improved styling
for better readability and usability. Added CSS styling for category links
to ensure they are displayed inline with appropriate spacing, improving
the user experience.
Added validation to ensure both language and project are selected before proceeding with the search. Redirects to the homepage if the query is empty. Enhanced error handling in index redirect function to catch invalid project/language combinations and inform users appropriately.
Resolves issues with user experience and input handling.
Enhanced the code by adding type annotations and comprehensive
docstrings for better clarity and maintainability. The changes
include detailed explanations of return types and parameters for
all major functions and routes in the application. Additionally,
reordered imports for better readability and added a new typing
import to support the annotations.
These improvements facilitate easier understanding and usage of
the codebase, align with best practices, and provide hints for
static type checkers, leading to fewer runtime errors.