0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2025-12-31 00:03:21 +00:00

Merge branch 'master' into experimentalBrewLocking-#3326

This commit is contained in:
Trevor Buckner
2024-03-18 17:31:41 -04:00
committed by GitHub
7 changed files with 186 additions and 124 deletions

View File

@@ -84,7 +84,70 @@ pre {
## changelog ## changelog
For a full record of development, visit our [Github Page](https://github.com/naturalcrit/homebrewery). For a full record of development, visit our [Github Page](https://github.com/naturalcrit/homebrewery).
### Wednesday 21/2/2024 - v3.11.0 ### Monday 18/3/2024 - v3.12.0
{{taskList
##### 5e-Cleric
* [x] Fix language-specific hyphenation on print page
Fixes issue [#3294](https://github.com/naturalcrit/homebrewery/issues/3294)
* [x] Upgrade Font-Awesome to v6.51
* [x] Allow downloaded files to be uploaded via {{openSans **NEW {{fa,fa-plus-square}} → FROM UPLOAD {{fa,fa-upload}}**}}
##### G-Ambatte
* [x] Fix an edge case crash with empty documents
Fixes issue [#3315](https://github.com/naturalcrit/homebrewery/issues/3315)
* [x] Brews on the user page can be searched by tag; clicking a tag adds it to the filter
Fixes issue [#3164](https://github.com/naturalcrit/homebrewery/issues/3164)
* [x] Add *DiceFont* icons {{df,d20-20}} `{{df,icon-name}}`
##### abquintic
* [x] Fix ^super^ and ^^sub^^ highlighting in the text editor
* [x] Add new syntax for multiline Definition Lists:
```
Term
::Definition 1
::Definition 2
with more text
```
produces:
Term
::Definition 1
::Definition 2
with more text
Fixes issue [#2340](https://github.com/naturalcrit/homebrewery/issues/2340)
##### RKuerten :
* [x] Fix monster stat block backgrounds on print page
Fixes issue [#3275](https://github.com/naturalcrit/homebrewery/issues/3275)
* [x] Added new text editor theme: "Darkvision".
##### calculuschild, G-Ambatte, 5e-Cleric
* [x] Codebase and UI cleanup
}}
\page
### Friday 21/2/2024 - v3.11.0
{{taskList {{taskList
##### Gazook89 ##### Gazook89
@@ -166,14 +229,16 @@ Fixes issue [1488](https://github.com/naturalcrit/homebrewery/issues/1488)
Fixes issues [2510](https://github.com/naturalcrit/homebrewery/issues/2510), Fixes issues [2510](https://github.com/naturalcrit/homebrewery/issues/2510),
[2975](https://github.com/naturalcrit/homebrewery/issues/2975) [2975](https://github.com/naturalcrit/homebrewery/issues/2975)
* [x] New Variables syntax. See below for details. * [x] Brew Variables
}} }}
\
{{wide {{wide
### Brew Variable Syntax ### Brew Variable Syntax
You may already be familiar with `[link](url)` and `![image](url)` syntax. We have expanded this to include a third `$[variable](text)` syntax. All three of these syntaxes now share a common set of features: You may already be familiar with `[link](url)` and `![image](url)` synax. We have expanded this to include a third `$[variable](text)` syntax. All three of these syntaxes now share a common set of features:
{{varSyntaxTable {{varSyntaxTable
| syntax | description | | syntax | description |
@@ -1512,7 +1577,7 @@ myStyle {color: black}
### Sunday, 29/05/2016 - v2.1.0 ### Sunday, 29/05/2016 - v2.1.0
- Finally added a syntax for doing spell lists. A bit in-depth about why this took so long. Essentially I'm running out of syntax to use in stardard Markdown. There are too many unique elements in the PHB-style to be mapped. I solved this earlier by stacking certain elements together (eg. an `<hr>` before a `blockquote` turns it into moster state block), but those are getting unweildly. I would like to simply wrap these in `div`s with classes, but unfortunately Markdown stops processing when within HTML blocks. To get around this I wrote my own override to the Markdown parser and lexer to process Markdown within a simple div class wrapper. This should open the door for more unique syntaxes in the future. Big step! - Finally added a syntax for doing spell lists. A bit in-depth about why this took so long. Essentially I'm running out of syntax to use in stardard Markdown. There are too many unique elements in the PHB-style to be mapped. I solved this earlier by stacking certain elements together (eg. an `<hr>` before a `blockquote` turns it into moster state block), but those are getting unweildly. I would like to simply wrap these in `div`s with classes, but unfortunately Markdown stops processing when within HTML blocks. To get around this I wrote my own override to the Markdown parser and lexer to process Markdown within a simple div class wrapper. This should open the door for more unique syntaxes in the future. Big step!
- Override Ctrl+P (and cmd+P) to launch to the print page. Many people try to just print either the editing or share page to get a PDF. While this dones;t make much sense, I do get a ton of issues about it. So now if you try to do this, it'll just bring you imediately to the print page. Everybody wins! - Override Ctrl+P (and cmd+P) to launch to the print page. Many people try to just print either the editing or share page to get a PDF. While this dones;t make much sense, I do get a ton of issues about it. So now if you try to do this, it'll just bring you imediately to the print page. Everybody wins!
- The onboarding flow has also been confusing a few users (Homepage -> new -> save -> edit page). If you edit the Homepage text now, a Call to Action to save your work will pop-up. - The onboarding flow has also been confusing a few users (Homepage new save edit page). If you edit the Homepage text now, a Call to Action to save your work will pop-up.
- Added a 'Recently Edited' and 'Recently Viewed' nav item to the edit and share page respectively. Each will remember the last 8 items you edited or viewed and when you viewed it. Makes use of the new title attribute of brews to easy navigatation. - Added a 'Recently Edited' and 'Recently Viewed' nav item to the edit and share page respectively. Each will remember the last 8 items you edited or viewed and when you viewed it. Makes use of the new title attribute of brews to easy navigatation.
- Paragraphs now indent properly after lists (thanks u/slitjen!) - Paragraphs now indent properly after lists (thanks u/slitjen!)

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "homebrewery", "name": "homebrewery",
"version": "3.11.0", "version": "3.12.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "homebrewery", "name": "homebrewery",
"version": "3.11.0", "version": "3.12.0",
"hasInstallScript": true, "hasInstallScript": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {

View File

@@ -1,7 +1,7 @@
{ {
"name": "homebrewery", "name": "homebrewery",
"description": "Create authentic looking D&D homebrews using only markdown", "description": "Create authentic looking D&D homebrews using only markdown",
"version": "3.11.0", "version": "3.12.0",
"engines": { "engines": {
"npm": "^10.2.x", "npm": "^10.2.x",
"node": "^20.8.x" "node": "^20.8.x"

View File

@@ -1,5 +1,6 @@
@import (less) './themes/assets/assets.less'; @import (less) './themes/assets/assets.less';
@import (less) './themes/fonts/icon fonts/font-icons.less'; @import (less) './themes/fonts/icon fonts/font-icons.less';
@import (less) './themes/fonts/icon fonts/dicefont.less';
:root { :root {
//Colors //Colors

View File

@@ -1,118 +1,114 @@
/* /* Icon Font: dicefont */
Icon Font: dicefont
*/
@font-face { @font-face {
font-family: 'DiceFont'; font-family : 'DiceFont';
src: url('../../../fonts/5e/dicefont.woff2') format('woff2'), font-style : normal;
url('../../../fonts/5e/dicefont.woff') format('woff'); font-weight : normal;
font-weight: normal; src : url('../../../fonts/icon fonts/dicefont.woff2');
font-style: normal; }
}
.df { .df {
display: inline-block; display : inline-block;
font-family: 'DiceFont'; font-family : 'DiceFont';
font-style: normal; font-style : normal;
font-weight: normal; font-weight : normal;
font-variant: normal; font-variant : normal;
line-height: 1; line-height : 1;
text-decoration: inherit; text-decoration : inherit;
text-rendering: optimizeLegibility; text-transform : none;
text-transform: none; text-rendering : optimizeLegibility;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing : grayscale;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing : antialiased;
font-smooth: antialiased; &.F::before { content : '\f190'; }
&.F:before { content: '\f190'; } &.F-minus::before { content : '\f191'; }
&.F-minus:before { content: '\f191'; } &.F-plus::before { content : '\f192'; }
&.F-plus:before { content: '\f192'; } &.F-zero::before { content : '\f193'; }
&.F-zero:before { content: '\f193'; } &.d10::before { content : '\f194'; }
&.d10:before { content: '\f194'; } &.d10-0::before { content : '\f100'; }
&.d10-0:before { content: '\f100'; } &.d10-1::before { content : '\f101'; }
&.d10-1:before { content: '\f101'; } &.d10-10::before { content : '\f102'; }
&.d10-10:before { content: '\f102'; } &.d10-2::before { content : '\f103'; }
&.d10-2:before { content: '\f103'; } &.d10-3::before { content : '\f104'; }
&.d10-3:before { content: '\f104'; } &.d10-4::before { content : '\f105'; }
&.d10-4:before { content: '\f105'; } &.d10-5::before { content : '\f106'; }
&.d10-5:before { content: '\f106'; } &.d10-6::before { content : '\f107'; }
&.d10-6:before { content: '\f107'; } &.d10-7::before { content : '\f108'; }
&.d10-7:before { content: '\f108'; } &.d10-8::before { content : '\f109'; }
&.d10-8:before { content: '\f109'; } &.d10-9::before { content : '\f10a'; }
&.d10-9:before { content: '\f10a'; } &.d12::before { content : '\f195'; }
&.d12:before { content: '\f195'; } &.d12-1::before { content : '\f10b'; }
&.d12-1:before { content: '\f10b'; } &.d12-10::before { content : '\f10c'; }
&.d12-10:before { content: '\f10c'; } &.d12-11::before { content : '\f10d'; }
&.d12-11:before { content: '\f10d'; } &.d12-12::before { content : '\f10e'; }
&.d12-12:before { content: '\f10e'; } &.d12-2::before { content : '\f10f'; }
&.d12-2:before { content: '\f10f'; } &.d12-3::before { content : '\f110'; }
&.d12-3:before { content: '\f110'; } &.d12-4::before { content : '\f111'; }
&.d12-4:before { content: '\f111'; } &.d12-5::before { content : '\f112'; }
&.d12-5:before { content: '\f112'; } &.d12-6::before { content : '\f113'; }
&.d12-6:before { content: '\f113'; } &.d12-7::before { content : '\f114'; }
&.d12-7:before { content: '\f114'; } &.d12-8::before { content : '\f115'; }
&.d12-8:before { content: '\f115'; } &.d12-9::before { content : '\f116'; }
&.d12-9:before { content: '\f116'; } &.d2::before { content : '\f196'; }
&.d2:before { content: '\f196'; } &.d2-1::before { content : '\f117'; }
&.d2-1:before { content: '\f117'; } &.d2-2::before { content : '\f118'; }
&.d2-2:before { content: '\f118'; } &.d20::before { content : '\f197'; }
&.d20:before { content: '\f197'; } &.d20-1::before { content : '\f119'; }
&.d20-1:before { content: '\f119'; } &.d20-10::before { content : '\f11a'; }
&.d20-10:before { content: '\f11a'; } &.d20-11::before { content : '\f11b'; }
&.d20-11:before { content: '\f11b'; } &.d20-12::before { content : '\f11c'; }
&.d20-12:before { content: '\f11c'; } &.d20-13::before { content : '\f11d'; }
&.d20-13:before { content: '\f11d'; } &.d20-14::before { content : '\f11e'; }
&.d20-14:before { content: '\f11e'; } &.d20-15::before { content : '\f11f'; }
&.d20-15:before { content: '\f11f'; } &.d20-16::before { content : '\f120'; }
&.d20-16:before { content: '\f120'; } &.d20-17::before { content : '\f121'; }
&.d20-17:before { content: '\f121'; } &.d20-18::before { content : '\f122'; }
&.d20-18:before { content: '\f122'; } &.d20-19::before { content : '\f123'; }
&.d20-19:before { content: '\f123'; } &.d20-2::before { content : '\f124'; }
&.d20-2:before { content: '\f124'; } &.d20-20::before { content : '\f125'; }
&.d20-20:before { content: '\f125'; } &.d20-3::before { content : '\f126'; }
&.d20-3:before { content: '\f126'; } &.d20-4::before { content : '\f127'; }
&.d20-4:before { content: '\f127'; } &.d20-5::before { content : '\f128'; }
&.d20-5:before { content: '\f128'; } &.d20-6::before { content : '\f129'; }
&.d20-6:before { content: '\f129'; } &.d20-7::before { content : '\f12a'; }
&.d20-7:before { content: '\f12a'; } &.d20-8::before { content : '\f12b'; }
&.d20-8:before { content: '\f12b'; } &.d20-9::before { content : '\f12c'; }
&.d20-9:before { content: '\f12c'; } &.d4::before { content : '\f198'; }
&.d4:before { content: '\f198'; } &.d4-1::before { content : '\f12d'; }
&.d4-1:before { content: '\f12d'; } &.d4-2::before { content : '\f12e'; }
&.d4-2:before { content: '\f12e'; } &.d4-3::before { content : '\f12f'; }
&.d4-3:before { content: '\f12f'; } &.d4-4::before { content : '\f130'; }
&.d4-4:before { content: '\f130'; } &.d6::before { content : '\f199'; }
&.d6:before { content: '\f199'; } &.d6-1::before { content : '\f131'; }
&.d6-1:before { content: '\f131'; } &.d6-2::before { content : '\f132'; }
&.d6-2:before { content: '\f132'; } &.d6-3::before { content : '\f133'; }
&.d6-3:before { content: '\f133'; } &.d6-4::before { content : '\f134'; }
&.d6-4:before { content: '\f134'; } &.d6-5::before { content : '\f135'; }
&.d6-5:before { content: '\f135'; } &.d6-6::before { content : '\f136'; }
&.d6-6:before { content: '\f136'; } &.d8::before { content : '\f19a'; }
&.d8:before { content: '\f19a'; } &.d8-1::before { content : '\f137'; }
&.d8-1:before { content: '\f137'; } &.d8-2::before { content : '\f138'; }
&.d8-2:before { content: '\f138'; } &.d8-3::before { content : '\f139'; }
&.d8-3:before { content: '\f139'; } &.d8-4::before { content : '\f13a'; }
&.d8-4:before { content: '\f13a'; } &.d8-5::before { content : '\f13b'; }
&.d8-5:before { content: '\f13b'; } &.d8-6::before { content : '\f13c'; }
&.d8-6:before { content: '\f13c'; } &.d8-7::before { content : '\f13d'; }
&.d8-7:before { content: '\f13d'; } &.d8-8::before { content : '\f13e'; }
&.d8-8:before { content: '\f13e'; } &.dot-d6::before { content : '\f19b'; }
&.dot-d6:before { content: '\f19b'; } &.dot-d6-1::before { content : '\f13f'; }
&.dot-d6-1:before { content: '\f13f'; } &.dot-d6-2::before { content : '\f140'; }
&.dot-d6-2:before { content: '\f140'; } &.dot-d6-3::before { content : '\f141'; }
&.dot-d6-3:before { content: '\f141'; } &.dot-d6-4::before { content : '\f142'; }
&.dot-d6-4:before { content: '\f142'; } &.dot-d6-5::before { content : '\f143'; }
&.dot-d6-5:before { content: '\f143'; } &.dot-d6-6::before { content : '\f18f'; }
&.dot-d6-6:before { content: '\f18f'; } &.small-dot-d6-1::before { content : '\f183'; }
&.small-dot-d6-1:before { content: '\f183'; } &.small-dot-d6-2::before { content : '\f184'; }
&.small-dot-d6-2:before { content: '\f184'; } &.small-dot-d6-3::before { content : '\f185'; }
&.small-dot-d6-3:before { content: '\f185'; } &.small-dot-d6-4::before { content : '\f186'; }
&.small-dot-d6-4:before { content: '\f186'; } &.small-dot-d6-5::before { content : '\f187'; }
&.small-dot-d6-5:before { content: '\f187'; } &.small-dot-d6-6::before { content : '\f188'; }
&.small-dot-d6-6:before { content: '\f188'; } &.solid-small-dot-d6-1::before { content : '\f189'; }
&.solid-small-dot-d6-1:before { content: '\f189'; } &.solid-small-dot-d6-2::before { content : '\f18a'; }
&.solid-small-dot-d6-2:before { content: '\f18a'; } &.solid-small-dot-d6-3::before { content : '\f18b'; }
&.solid-small-dot-d6-3:before { content: '\f18b'; } &.solid-small-dot-d6-4::before { content : '\f18c'; }
&.solid-small-dot-d6-4:before { content: '\f18c'; } &.solid-small-dot-d6-5::before { content : '\f18d'; }
&.solid-small-dot-d6-5:before { content: '\f18d'; } &.solid-small-dot-d6-6::before { content : '\f18e'; }
&.solid-small-dot-d6-6:before { content: '\f18e'; }
} }

View File

@@ -1,6 +1,6 @@
/* Main Font, serif */ /* Icon Font: Elderberry Inn */
@font-face { @font-face {
font-family : 'Eldeberry-Inn'; font-family : 'Elderberry-Inn';
font-style : normal; font-style : normal;
font-weight : normal; font-weight : normal;
src : url('../../../fonts/icon fonts/Elderberry-Inn-Icons.woff2'); src : url('../../../fonts/icon fonts/Elderberry-Inn-Icons.woff2');
@@ -10,7 +10,7 @@
span.ei { span.ei {
display : inline-block; display : inline-block;
margin-right : 3px; margin-right : 3px;
font-family : 'Eldeberry-Inn'; font-family : 'Elderberry-Inn';
line-height : 1; line-height : 1;
vertical-align : baseline; vertical-align : baseline;
-moz-osx-font-smoothing : grayscale; -moz-osx-font-smoothing : grayscale;