diff --git a/changelog.md b/changelog.md index f560ce1e5..3a5e37489 100644 --- a/changelog.md +++ b/changelog.md @@ -88,24 +88,70 @@ pre { ## changelog For a full record of development, visit our [Github Page](https://github.com/naturalcrit/homebrewery). -### Tuesday 03/18/2025 - v3.18.1 +### Thursday 05/22/2025 - v3.19.0 {{taskList +##### abquintic +* [x] Fix crash due to colons after `\page` + +Fixes issue [#4105](https://github.com/naturalcrit/homebrewery/issues/4105) + +* [x] Fix images with spaces in alt text not rendering + +Fixes issue [#3659](https://github.com/naturalcrit/homebrewery/issues/3659) + +* [x] Custom snippets! Open the new {{openSans **:fas_table_list: SNIPPETS**}} tab (next to the {{openSans **:fas_paintbrush: STYLE**}} tab). Custom snippets will appear in a new snippet dropdown, and will be included when imported as a custom theme. + +* [x] Move several generic styles/snippets from PHB to the Blank theme; generic snippets like image masks no longer require the PHB theme. + +* [x] Extract several Markdown+ syntax extensions into their own NPM packages, for use by the wider community. + +* [x] Allow `\pagebreak` and `\columnbreak` as alternatives to `\page` and `\column` + +Partially fixes issue [#4035](https://github.com/naturalcrit/homebrewery/issues/4035) + +* [x] Fix misbehaving column breaks on old Chrome + +Fixes issue [#4192](https://github.com/naturalcrit/homebrewery/issues/4192) + +* [x] Self-host font-awesome icons; fix missing icons on local installs + +Fixes issue [#1965](https://github.com/naturalcrit/homebrewery/issues/1965) +Fixes issue [#1548](https://github.com/naturalcrit/homebrewery/issues/1548) + ##### G-Ambatte -* [x] Revert colon rendering from br elements to blank divs +* [x] Fix CORS issue on local installs + +* [x] Fix print size issues when using the Facing and Flow view options. + +Fixes issue [#4146](https://github.com/naturalcrit/homebrewery/issues/4146) + +* [x] New built-in `$[HB_pageNumber]` variable. Works with math operations or can be reassigned like any other variable for more customization over the old `{{pageNumber,auto}}` snippet.\ +New snippet found at {{openSans **:fas_pencil: TEXT EDITOR :fas_arrow_right: :fas_bookmark: PAGE NUMBERING :fas_arrow_right: :fas_arrow_down_1_9: VARIABLE AUTO PAGE NUMBER**}} ##### 5e-Cleric -* [x] Allow for local connections within a same network when running a local version -Fixes issue [#4094](https://github.com/naturalcrit/homebrewery/issues/4094) +* [x] Fix search bar covering up snippet bar (3 times) + +Fixes issue [#4098](https://github.com/naturalcrit/homebrewery/issues/4098) + +* [x] Save view toolbar settings across sessions + +Fixes issue [#3835](https://github.com/naturalcrit/homebrewery/issues/3835) + +* [x] Fix styling issues on the view toolbar + +* [x] Update the Darkbrewery editor theme + +Fixes issue [#3312](https://github.com/naturalcrit/homebrewery/issues/3312) -* [x] Add US Letter size page snippet -Fixes issue [#3893](https://github.com/naturalcrit/homebrewery/issues/3893) }} +\page + ### Monday 03/10/2025 - v3.18.0 {{taskList -##### dbolack +##### abquintic * [x] Add ability to paste in any Share ID/URL into a brew's {{openSans :fas_circle_info: **Properties** :fas_arrow_right: **THEMES**}} selection, as long as that brew has been tagged as `meta:theme`. You can now share your custom brew themes without needing to make a personal copy. * [x] Begin migration of custom Markdown extensions into their own NPM packages, for easier adoption by other users or projects * [x] Fix external HTML appearing in open codeblocks @@ -167,7 +213,7 @@ Fixes issue [#4073](https://github.com/naturalcrit/homebrewery/issues/4073) * [x] Fix Reddit link crash when title has non-latin chars -##### dbolack +##### abquintic * [x] Fix page shadows toolbar option diff --git a/client/admin/admin.less b/client/admin/admin.less index 1955f8a93..0fc353194 100644 --- a/client/admin/admin.less +++ b/client/admin/admin.less @@ -3,6 +3,7 @@ @import 'naturalcrit/styles/animations.less'; @import 'naturalcrit/styles/colors.less'; @import 'naturalcrit/styles/tooltip.less'; +@import './themes/fonts/iconFonts/fontAwesome.less'; @import 'font-awesome/css/font-awesome.css'; diff --git a/client/homebrew/brewRenderer/brewRenderer.jsx b/client/homebrew/brewRenderer/brewRenderer.jsx index 16bd5adb0..114fe7ed6 100644 --- a/client/homebrew/brewRenderer/brewRenderer.jsx +++ b/client/homebrew/brewRenderer/brewRenderer.jsx @@ -113,13 +113,14 @@ const BrewRenderer = (props)=>{ zoomLevel : 100, spread : 'single', startOnRight : true, - pageShadows : true + pageShadows : true, + rowGap : 5, + columnGap : 10, }); //useEffect to store or gather toolbar state from storage useEffect(()=>{ const toolbarState = JSON.parse(window.localStorage.getItem('hb_toolbarState')); - console.log('toolbar state:', toolbarState); toolbarState && setDisplayOptions(toolbarState); }, []); diff --git a/client/homebrew/brewRenderer/toolBar/toolBar.jsx b/client/homebrew/brewRenderer/toolBar/toolBar.jsx index 4f3e356a7..6938eacb7 100644 --- a/client/homebrew/brewRenderer/toolBar/toolBar.jsx +++ b/client/homebrew/brewRenderer/toolBar/toolBar.jsx @@ -21,8 +21,9 @@ const ToolBar = ({ displayOptions, onDisplayOptionsChange, visiblePages, totalPa }, [visiblePages]); useEffect(()=>{ - const visibility = localStorage.getItem('hb_toolbarVisibility') === 'true'; - setToolsVisible(visibility); + const Visibility = localStorage.getItem('hb_toolbarVisibility'); + if (Visibility) setToolsVisible(Visibility === 'true'); + }, []); const handleZoomButton = (zoom)=>{ @@ -68,7 +69,7 @@ const ToolBar = ({ displayOptions, onDisplayOptionsChange, visiblePages, totalPa } else if(mode == 'fit'){ // find the page with the largest single dim (height or width) so that zoom can be adapted to fit it. let minDimRatio; - if(displayOptions.spread === 'active') + if(displayOptions.spread === 'single') minDimRatio = [...pages].reduce( (minRatio, page)=>Math.min(minRatio, iframeWidth / page.offsetWidth, @@ -165,7 +166,7 @@ const ToolBar = ({ displayOptions, onDisplayOptionsChange, visiblePages, totalPa id='single-spread' className='tool' title='Single Page' - onClick={()=>{handleOptionChange('spread', 'active');}} + onClick={()=>{handleOptionChange('spread', 'single');}} aria-checked={displayOptions.spread === 'single'} >