blender-addon-updater
blender-addon-updater copied to clipboard
Show update logs if available
If there are update logs available, display the text of the log.
This would potentially entail parsing and finding a way to better display or show markdown in blender. Some thoughts/related considerations
- Logs are only available with tags that are also "releases", but may still be blank
- Currently the updater works based on tags and not releases (the setting "use_releases" still needs to be implemented to alternatively use releases over tags)
- Be able to display the change log in a UI list
- Here, we should strip down the markdown code in some meaningful way.
- Should auto determine the "word wrapping" to generate multiple lines in a scrolling list view
- If feeling super fancy, could even place inline buttons for web urls; certain icons could be used for things like bullets etc.
- Remove or just provide direct links to things like images/video
- There should also be easily available buttons to view the log in the text editor (generate a new text block with full markdown code) as well as to view the release logs online.
- The first version of showing logs doesn't need the bells and whistles of parsing the markdown, but at minimum needs the word wrapping capabilities.
- Save current version logs in the json file; upon running check, can even also grab the current version log if not already local (perhaps launch as a secondary background check so that getting the current status is quicker).
Current concept:
Could the user have the option to view older release logs?
Yeah, assuming they are available it would be fairly straightforward to grab once this UI piece is implemented.
Started to do some initial development on this item, parsing out key features of markdown code and stripping the formatting and parsing out the features.
Note this useful reference: https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
Remaining goals:
- Replaces image markdown code with the [alt-text] followed by the 'IMAGE_COL' icon label, which acts as an emboss=False url_open operator to the original image location (may be hard to determine if non-absolute links are used)
- Remove styling options like for bold and italics, since they can't show up in blender
- Implement more intelligent auto-line wrapping; right now you have to hard set the width to e.g. 100 chars or something like that, it may be possible to interpret based from the draw self module
- Implement in-line link creation, where the
[link text](link.destination.com)
is replaced bylink text #
where # would be the CONSTRAINTS icon in a label, and the whole thing would be a non-embossed url_opener operator to the original link. - If feeling super advanced, could hack in bold/italics/underlines by using "..." label characters with very short .scale_y heights so they appear just under the main text. This could also work for placing a line underneath url's.
- Implement drawing option to display either as a self contained object (typically drawn into a box UI element but not necessarily), or to implement natively inside a scrolling UI list (which is a bit of a strange adaptation but would work).
And note the WIP progress so far, which essentially just parses out headers (all treated the same and only if using # method) and bullet points (up to two-deep). I've started to design the structure to interpret and extract (remove, due to lack of text styling in blender) features like bold, italics and images.