Skip to content

v0.9.0 (Wed Dec 4 2024)

Additions

  • Add toggleable logger view
  • Add async event system with centralized catching and message passing
  • Add processing pane when loading search results or fetching pages
  • Add theme.toml file for configuring the theme
    • Add --theme-config-path cli flag to get the theme config location
    • Add options for changing the border colors
    • Add options for changing the scrollbar colors
    • Add options for changing the statusbar colors
  • Add zen-mode to hide ui elements
  • Add multiple new configurable keybindings
  • Add multiple new api configuration options
    • Add options for configuring the search
    • Add an option for configuring page fetching

Changes

  • Rewrite the UI in ratatui instead of cursive
  • Rewrite the parser to create a tree of nodes for a page
    • Use the MediaWiki HTML DOM Spec for pages and parsing
  • Rewrite the renderer using textwrap to wrap lines of text
  • Rewrite the theme configuration structure
  • Rewrite the configuration structure
  • Change the application pattern to a component-based architecture
  • Change the logging library used to tracing
  • Change the cli library from structopt to clap
  • Change the configuration layout of the keybindings
  • Improve debug panic messages using better-panic
  • Improve release panic messages using human-panic
  • Improve the cli interface

Fixes

  • Fix multiple issues with line-wrapping and rendering of different languages
  • Fix indentation of lists and nested lists
  • Fix scrollover from happening in some edge-cases
  • Fix language links from not parsing correctly
  • Fix cli errors not appearing when selecting an invalid language
  • Fix blockquotes being hidden and not indented

v0.8.2 (Fri Aug 11 2023)

🎉 This release contains work from a new contributor! 🎉

Thank you, null@ethamck, for all your work!

Bug Fixes 🐛

Structure and Style Changes

Authors: 2


v0.8.1 (Sat Aug 05 2023)

Release Notes

Add language selection (#190)

You can now change the language of the current article by pressing F3 (requires an article to be open and the key can be configured). Within the popup, you can select a new language from the available ones (not all articles are available in all languages). This feature also include several configuration options, so be sure to check them out in the docs

image


Exciting New Features 🎉

Bug Fixes 🐛

Structure and Style Changes

Authors: 1


v0.8.0 (Fri Jul 07 2023)

🎉 This release contains work from a new contributor! 🎉

Thank you, Enoumy (@Enoumy), for all your work!

Release Notes

Correctly handle non-existent pages (#186)

When you now try to open a link leading to a page that doesn't exist yet, a warning will now pop up informing you about the missing page.

Vim movements (ctrl+d, ctrl+u, gg, G) (#180)

The Vim keybindings ctrl+d, ctrl+u, gg, and G have been implemented!


Exciting New Features 🎉

Bug Fixes 🐛

CI Pipeline and Dependency Updates

Documentation Changes

Structure and Style Changes

Authors: 3


v0.7.0 (Thu May 18 2023)

🎉 This release contains work from new contributors! 🎉

Thanks for all your work!

❤ null@cshjsc

❤ krixcrox (@falkwitte)

Release Notes

Breaking Changes occurred, please check the docsfor instructions on how to upgrade

Change log directory (#175)

The path of the logfile and the crash report have changed, check the upgrading page to learn more

Add Language Selection (#168)

You can now change the language on the fly either by using the new -l and --language cli arguments, or by pressing F2 in the tui and selecting a new language from the menu. This feature also includes several new configuration options, so be sure to check out the docs about them

Please also check the docs to learn about what breaking changes have occurred since 0.6.x

image

Language Switching Dialog


Breaking Changes 🛠

Exciting New Features 🎉

Bug Fixes 🐛

CI Pipeline and Dependency Updates

Documentation Changes

Structure and Style Changes

Authors: 3


v0.6.4 (Fri Feb 17 2023)

Bug Fixes 🐛

CI Pipeline and Dependency Updates

Authors: 1


v0.6.3 (Thu Feb 16 2023)

Bug Fixes 🐛

Authors: 1


v0.6.2 (Sun Feb 12 2023)

Bug Fixes 🐛

CI Pipeline and Dependency Updates

Documentation Changes

Structure and Style Changes

Authors: 1


v0.6.1 (Sat Dec 31 2022)

🎉 This release contains work from a new contributor! 🎉

Thank you, Imgbot (@ImgBotApp), for all your work!

Bug Fixes 🐛

CI Pipeline and Dependency Updates

Structure and Style Changes

Other Changes

Authors: 3


v0.6.0 (Mon Nov 14 2022)

🎉 This release contains work from a new contributor! 🎉

Thank you, Nuno Teixeira (@nunotexbsd), for all your work!

Exciting New Features 🎉

Bug Fixes 🐛

CI Pipeline and Dependency Updates

Documentation Changes

Other Changes

Authors: 2


v0.5.1 (Mon Aug 1 2022)

Exciting New Features 🎉

Bug Fixes 🐛

Authors: 1


v0.5.0 (Thu Jul 21 2022)

🎉 This release contains work from new contributors! 🎉

Thanks for all your work!

❤ Ikko Eltociear Ashimine (@eltociear)

❤ Thomas Frans (@ThomasFrans)

Breaking Changes 🛠

Exciting New Features 🎉

  • Add option to change the keybindings via configuration #38 (@Builditluc)

Bug Fixes 🐛

CI Pipeline and Dependency Updates

Documentation Changes

Structure and Style Changes

Other Changes

Authors: 3


v0.4.8 (Tue May 17 2022)

Exciting New Features 🎉

Bug Fixes 🐛

  • Fix the crash that occurred when scrolling during the article loading #33 (@Builditluc)
  • Fix flickering issue with the crossterm and termion backend #32 (@Builditluc)

Structure and Style Changes

Authors: 1


v0.4.7 (Fri Apr 15 2022)

CI Pipeline and Dependency Updates

Authors: 1


v0.4.6 (Fri Apr 15 2022)

Breaking Changes 🛠

Changes

  • Refactor with clippy and fix Tests #25 (@Builditluc)
  • Rework the whole codebase (@Builditluc)
  • fix(ui): fix true color support (@Builditluc)
  • fix(ui): fix toc rendering (@Builditluc)
  • refactor(*): refactor wiki-tui completely (@Builditluc)
  • fix(ui): fix header selection (@Builditluc)
  • fix(*): fix link selection (@Builditluc)
  • refactor(*): finish link selecting and opening (@Builditluc)
  • refactor(*): finish text rendering and wrapping (@Builditluc)
  • refactor(wiki): add new article content (@Builditluc)
  • refactor(wiki): add new lines wrapper (@Builditluc)
  • refactor(wiki): remove old article structs (@Builditluc)
  • docs(wiki): further document the wiki module (@Builditluc)
  • docs(wiki): document the search result struct (@Builditluc)
  • docs(wiki): add documentation for the wiki (@Builditluc)
  • docs(ui): add documentation for the ui (@Builditluc)
  • refactor(ui): implement new search and remove articles temporarily (@Builditluc)
  • feat(cargo): change cursive backend to crossterm (@Builditluc)
  • refactor(wiki): add article builder struct (@Builditluc)
  • chore(*): remove dotenv dependency (@Builditluc)
  • chore(*): add deadpendency configuration (@Builditluc)
  • refactor(wiki): add parser struct (@Builditluc)
  • refactor(wiki): implement partialeq and debug for the article struct (@Builditluc)
  • refactor(wiki): remove old article file (@Builditluc)
  • refactor(wiki): add article struct (@Builditluc)
  • refactor(wiki): add tableofcontents struct (@Builditluc)
  • refactor(wiki): add article element struct (@Builditluc)
  • refactor(wiki): add search builder struct (@Builditluc)
  • refactor(wiki): add search struct (@Builditluc)
  • refactor(wiki): add search result and search info structs (@Builditluc)
  • refactor(wiki): add search sort-order enum (@Builditluc)
  • refactor(wiki): use macros in the search metadata struct (@Builditluc)
  • refactor(wiki): add search properties struct (@Builditluc)
  • refactor(wiki): add search metadata struct (@Builditluc)
  • chore(*): change name of github actions (@Builditluc)
  • style(*): refactor with clippy (@Builditluc)
  • refactor(error): change error message and crash-report location (@Builditluc)
  • chore(*): update changelog github action (@Builditluc)

Authors: 1


v0.4.5 (Wed Jan 26 2022)

🎉 This release contains work from a new contributor! 🎉

Thank you, python128 (@python128), for all your work!

Changes

  • docs(readme): Add blockquote for note #17 (nexinov5vatr@gmail.com @python128)
  • docs(changelog): add release checklist (@Builditluc)
  • chore(*): change branch and run condition of the github changelog action (@Builditluc)
  • docs(*): add class diagram of the code (@Builditluc)
  • chore(*): move github actions into seperate files (@Builditluc)
  • chore(*): add github action publishing wiki-tui to crates.io (@Builditluc)
  • chore(*): add github action building and testing the code (@Builditluc)
  • feat(wiki): add response error code checking (@Builditluc)
  • feat(*): make --search flag default (@Builditluc)

Authors: 3


v0.4.4 (Wed Jan 12 2022)

Changes

Authors: 1


v0.4.3 (Wed Dec 22 2021)

Changes

  • chore(*): change generate Changelog action (@Builditluc)
  • docs(contributing): change project setup instructions (@Builditluc)
  • style(ui): remove several redundant closures (@Builditluc)
  • feat(config): add parser configuration options (@Builditluc)
  • fix(ui): open the correct url when selecting a link (@Builditluc)
  • refactor(wiki): remove reflist parser (@Builditluc)
  • feat(wiki): add code blocks to the article (@Builditluc)
  • chore(*): update nix shell (@Builditluc)
  • fix(ui): fix selecting a header in the toc view (@Builditluc)
  • fix(ui): remove the url prefix of the article name in the open dialog (@Builditluc)
  • fix(ui): fix selecting the first link in an article (@Builditluc)
  • chore(*): update rust action (@Builditluc)

Authors: 1


v0.4.2 (Sun Nov 7 2021)

Release Notes

Added:

  • nix installation (#9)

Fixes:

  • garbled ascii on specific terminal geometries (#10)

Changes

Authors: 2


v0.4.1 (Fri Nov 5 2021)

Release Notes

Fixes:

  • Removed a warning
  • Fixed a bug where wiki-tui would crash when trying to access an invalid link
  • Fixed a bug where wiki-tui wouldn't change the background of the search bar
  • Fixed the color of headers
  • Fixed scrolling inside of articles with no links

Changes

Authors: 2


v0.4.0 (Tue Nov 2 2021)

Release Notes

Added:

  • You can now go to the headers by pressing ENTER on the item in the table of contents
  • When wiki-tui crashes, it generates a crash report
  • You can now change the color of specific views

Changes:

  • The logging is now more informative
  • Added cargo & NetBSD installation method
  • The configuration format is now toml

Fixes:

  • Words are no longer overlapping
  • Fixed a bug where wiki-tui would crash when pressing keys while searching (#6)

Changes

Authors: 3


v0.3.0 (Tue Jul 29 2021)

🎉 This release contains work from a new contributor! 🎉

Thank you, pin (@0323pin), for all your work!

Release Notes

Added:

  • Added a table of contents on the right side of the Wikipedia article
  • Links can now be opened by pressing ENTER on them
  • Created a custom article view improving performance
  • The logger can now be configured with a config file

Changes:

  • Improved the welcome screen
  • Moved the config file
  • Changed the logging library to log4rs

Fixes:

  • Fixed a bug where wiki-tui would crash when the search query is empty
  • Fixed a bug where wiki-tui wouldn't show the first search result
  • Fixed a bug where wiki-tui wouldn't start when the config file doesn't exist

Changes

Authors: 2


v0.2.0 (Wed Apr 28 2021)

Release Notes

Changes: * Moved the location of the configuration file * Displays now a preview of the selected search result and highlights the search term inside of it * wiki-tui now uses web scraping to format and display the article in a nice way * Fixed the bug, where wiki-tui would crash if the search term is empty * Performance improvements * A lot under the hood was changed, like the complete rework of the way wiki-tui uses the configuration file

Changes

  • compiles #5 (@legendofmiracles)
  • Delete 3 #4 (@Builditluc)
  • Update README.md (@Builditluc)
  • Bug fixing (@Builditluc)
  • Changed the article view back to a single TextView instead of a (@Builditluc)
  • Fixed a bug (@Builditluc)
  • Added the Default parser (@Builditluc)
  • Made the article view a Linear Layout. The on_article_submit function (@Builditluc)
  • Fixed a bug in the impl of Parser for wiki::articles::Article (@Builditluc)
  • Added the Parser trait and modified the wiki::Wiki::get_article() function. It now returns the structs::wiki::article::Article struct (@Builditluc)
  • Added the structs::article::Article struct (@Builditluc)
  • v0.1.5 (@Builditluc)
  • v0.1.4 (@Builditluc)
  • Fully implemented anyhow (@Builditluc)
  • Began to implement anyhow and use the unused results (@Builditluc)
  • Removed the scraper crate (@Builditluc)
  • Added the anyhow crate (@Builditluc)
  • v0.1.3.1 (@Builditluc)
  • fixed Wiki::search_articles() and continue_search in main.rs (@Builditluc)
  • v0.1.3 (@Builditluc)
  • Removes .main.rs.swp (@Builditluc)
  • Made the results_view scrollable and set a fixed height for the results layer (@Builditluc)
  • Added functionality to the continue button (@Builditluc)
  • Compressed code inside of on_search() (@Builditluc)
  • Added some more things to main.rs() (@Builditluc)
  • on_article_submit() and on_search() are now using a mutable reference of wiki::Wiki (@Builditluc)
  • v0.1.2 (@Builditluc)
  • Fixed the lifetime bug with the help of Alexandre Bury (Author of the cursive library (@Builditluc)
  • Removes 3 (@Builditluc)
  • The UI now uses one instance of wiki::Wiki, program crashes because of lifetime problems (@Builditluc)
  • wiki::Wiki now uses ApiConfig, errors are appearing in main.rs (@Builditluc)
  • added config::ApiConfig and some functions in config::Config to load the Api Config (@Builditluc)
  • logging.rs now uses config::LoggingConfig (@Builditluc)
  • Added Config::load_logging() and Config::get_logging_config() which returns a reference to the LoggingConfig (@Builditluc)
  • Removed something (@Builditluc)
  • Added Config::load() and implemented Default for config::Config. Also added Config::new() (@Builditluc)
  • Added Config::is_config_valid(), this is a prviate function used only inside of config::Config (@Builditluc)
  • Added Config::create_config_file(), this is a private function only used inside of config::Config (@Builditluc)
  • Added Config::get_config_file(), this is a private function only used inside config::Config (@Builditluc)
  • Removed some of the Config code (@Builditluc)
  • Continued working on config::Config (@Builditluc)
  • Added config::Config and config::Theme. Also added the get_or_create_config_paths() function (@Builditluc)
  • Added the config.rs file and imported the dirs crate (@Builditluc)
  • Create README.md (@Builditluc)
  • v0.1.1 (@Builditluc)
  • Changed build branch into stable (@Builditluc)
  • Update rust.yml (@Builditluc)
  • Added some callbacks for the paging (@Builditluc)
  • Rearranged some Views in the Results View and added the Search Info (@Builditluc)
  • The Results Preview has now a fixed width (@Builditluc)
  • Forgot to display the title as well (@Builditluc)
  • These stupid searchmatches are finally highlighted (@Builditluc)
  • Removed the html tags inside of the Article snippet (@Builditluc)
  • Added the scraper crate (@Builditluc)
  • Added a Preview for the Results (@Builditluc)

Authors: 2


v0.1.0 (Mon Apr 5 2021)

🎉 This release contains work from new contributors! 🎉

Thanks for all your work!

❤ null@Builditluc

❤ null@legendofmiracles

Release Notes

With wiki-tui, you can browse on Wikipedia within your Terminal. To run it, clone this repository and then build/run it using cargo. In future Releases, there will be precompiled binaries.

Changes

  • adds shell.nix #3 (@legendofmiracles)
  • Removed everything (almost) #2 (@Builditluc)
  • Create LICENSE #1 (@Builditluc)
  • Moved the widgets around and added a Search Results popup (@Builditluc)
  • The Title of the Searchbar is now left-aligned (@Builditluc)
  • The Results View is now automatically focussed after searching (@Builditluc)
  • Removed the html2text crate (@Builditluc)
  • Added searching via pressing the Enter key inside of the search bar (@Builditluc)
  • Implemented the Article View functionality (@Builditluc)
  • The Article is now displayed correctly (@Builditluc)
  • The Tui is now showing the parsed Content of the Article (Not quite well) (@Builditluc)
  • The Results View now calls the on_article_submit function (@Builditluc)
  • removes shell.nix (@Builditluc)
  • Implemented the Search function (@Builditluc)
  • Fully implemented the on_search function (@Builditluc)
  • Fixed the crashing bug (@Builditluc)
  • Merge branch 'experimental' into stable (@Builditluc)
  • Update README.md (@Builditluc)
  • Added some more things to on_search(). Program crashes now when clicking on the search button (@Builditluc)
  • Implemented the From trait for wiki::ArticleResultPreview (@Builditluc)
  • Created a on_search function which is called when the user presses the Search button (@Builditluc)
  • Created a Demo struct for the ArticlePreview in the results view (@Builditluc)
  • Moved all of the structs for the web requests into the structs::wiki mod (@Builditluc)
  • Moved the UI stuff into main.rs and fixed some bugs (@Builditluc)
  • Changed the README (@Builditluc)
  • Added more of the UI (@Builditluc)
  • Added the tui struct and created the search bar (non functional) (@Builditluc)
  • Added the continue_search function. Moved the normal search in to a search_articles function (@Builditluc)
  • Bug fixing (@Builditluc)
  • Merge branch 'stable' of https://github.com/Builditluc/wiki-tui into stable (@Builditluc)
  • Added the ArticleResponse structs for the get_article function. Added the get_article function to the Wiki struct (@Builditluc)
  • Created the Response structs for the Search request. Added the wiki_tui.log file to .gitignore (@Builditluc)
  • Added the .gradle/ directory to the gitignore file (@Builditluc)
  • Fixed a bug where cargo would not compile (@Builditluc)
  • Added and implemented the rust-ini crate (@Builditluc)
  • Added the wiki::Wikipedia trait (@Builditluc)
  • Changed some things in the README (@Builditluc)
  • Add files via upload (@Builditluc)
  • Rename LICENSE to LICENSE.txt (@Builditluc)
  • Create README.md (@Builditluc)
  • Create rust.yml (@Builditluc)
  • Added the search_articles function (@Builditluc)
  • Implemented the update_article function of the WikiSql struct (@Builditluc)
  • Implemented the fetch_article function for the WikiSql struct (@Builditluc)
  • Added the Article and the NewArticle model (@Builditluc)
  • Created the table articles (@Builditluc)
  • Added the fetch_article function in the Api struct (@Builditluc)
  • Fixed a bug (@Builditluc)
  • Implemented the Removable trait for WikiSql (@Builditluc)
  • Implemented the Updatable Trait for WikiSql (@Builditluc)
  • Removed an unused import (@Builditluc)
  • Added the trait functions to the WikiSql struct (@Builditluc)
  • Added some functions for the ArticleIndex model (@Builditluc)
  • Implemented the wiki::Fetchable trait for WikiSql (@Builditluc)
  • Added TODO (@Builditluc)
  • Added the traits wiki::Fetchable, wiki::Updatable, wiki::Removable (@Builditluc)
  • The wiki struct now establishes a new connection when created (@Builditluc)
  • Added the traits file (@Builditluc)
  • Added logging for the Api struct (@Builditluc)
  • Prepared everything for the database integration (@Builditluc)
  • Fixed the env bug (@Builditluc)
  • Added the Logging module (@Builditluc)
  • Added the Api Struct and the ArticlesResultCallback Trait (@Builditluc)
  • Modified .gitignore (@Builditluc)
  • Initial commit (@Builditluc)

Authors: 2